Views
Horn supports three page authoring styles out of the box:
- Vue single-file components
- JSX / TSX
- render functions with
h()
Document shell
app/app.vue is always the document shell. It must render:
htmlheadbody
That shell is what Horn server-renders and hydrates.
Route views
Route views live under app/pages/**:
layout.*for nested layout nodespage.*for page componentserror.*for route-local error boundariesloading.*for client navigation loading UI
Mixed view styles
You can mix styles in one app:
/can be a render-function page/jsxcan be a TSX page/sfccan be a Vue SFC page
Horn treats them the same at routing and SSR time.