RouteRecord
interfaz
Una ruta del manifiesto que comparten el renderizador del servidor y el navegador. Lo produce
discoverRoutes de @meekojs/meeko/build.
import type { RouteRecord } from "@meekojs/meeko/framework";Source code src/app/runtime/router.ts:22
Declaración #
interface RouteRecord {
readonly id: string
readonly file: string
readonly layouts: readonly string[]
readonly error?: string
readonly sidecar?: string
readonly render?: PageRender
readonly layout?: NamedLayoutRecord
readonly middleware?: readonly string[]
readonly serverMiddleware?: readonly string[]
}Example #
import type { RouteRecord } from "@meekojs/meeko/framework";
const route: RouteRecord = {
id: "/users/[id]",
file: "app/pages/users/[id].meeko",
layouts: ["app/app.meeko", "app/layouts/default.meeko"],
error: "app/pages/+error.meeko",
};Propiedades #
sidecar
#
readonly sidecar?: stringMódulo que exporta las opciones de ruta: un archivo *.route.ts o, en una página con
<script server>, el ID de módulo <página>.meeko?meeko-route&lang.ts, que sólo carga el
plugin de Vite de Meeko. No siempre es una ruta de archivo.
render
#
readonly render?: PageRenderModo de render leído estáticamente del sidecar al descubrir la ruta; sin él, SSR.
layout
#
readonly layout?: NamedLayoutRecordLayout con nombre de app/layouts que envuelve la página, con su archivo (que también está en
RouteRecord.layouts) y las layoutProps de los +group.ts de sus carpetas. Sin él, la
página no tiene layout con nombre (layout: false, o sin app/layouts/default.meeko).
middleware
#
readonly middleware?: readonly string[]Archivos de los middleware con nombre de la ruta (defineRouteMiddleware(fn, { global: false })),
en el orden en que se ejecutan después de los globales: los de sus +group.ts, de fuera hacia
dentro, y los de la página, sin repetir. Sin él, la ruta sólo ejecuta los globales.
serverMiddleware
#
readonly serverMiddleware?: readonly string[]Archivos de todos los middleware de ruta de servidor de la ruta (app/middleware/*.server.ts,
con defineServerRouteMiddleware), en el orden en que se ejecutan en el servidor: los globales y
después los con nombre, con la misma herencia que RouteRecord.middleware. A diferencia de
middleware, es la cadena completa, para que un host sin cargador falle en lugar de saltarse los
globales. Las rutas render: "client" y "prerender" no lo llevan, y el manifiesto del
navegador tampoco.