PageRoute
interfaz
Opciones de ruta tal como las carga el servidor desde <script server> o un sidecar: la forma sin
tipos genéricos de definePage.
import type { PageRoute } from "@meekojs/meeko/server";Código fuente src/server/runtime/framework-render.ts:111
Declaración #
interface PageRoute {
params?: PageSchema
search?: PageSchema
load?: (context: PageRequestContext) => Promise<unknown> | unknown
head?: (context: PageRequestContext & { data: unknown }) => PageHead
render?: PageRender
prerenderEntries?: readonly Readonly<Record<string, string>>[] | (() => Promise<readonly Readonly<Record<string, string>>[]>)
layout?: unknown
layoutProps?: unknown
middleware?: unknown
cache?: PageCache<undefined, undefined, RequestContext>
}Ejemplo #
import type { PageRoute } from "@meekojs/meeko/server";
const loadRoute = async (file: string): Promise<PageRoute> => {
const module = await import(file) as { route?: PageRoute; default?: PageRoute };
return module.route ?? module.default ?? {};
};Propiedades #
head
#
head?: (context: PageRequestContext & { data: unknown }) => PageHeadCalcula el title con los datos del loader.
prerenderEntries
#
prerenderEntries?: readonly Readonly<Record<string, string>>[] | (() => Promise<readonly Readonly<Record<string, string>>[]>)Parámetros de cada URL que se prerenderiza.
layout
#
layout?: unknownLayout con nombre de la página, o false; meeko build lo lee del archivo y lo deja en el manifiesto.
middleware
#
middleware?: unknownMiddleware con nombre de la página, o false; meeko build lo lee del archivo y lo deja en el
manifiesto. Un nombre que el manifiesto de la ruta no lista hace fallar la petición.
cache
#
cache?: PageCache<undefined, undefined, RequestContext>Caché HTTP de la página (ETag, 304, max-age y caché en memoria), que el servidor lee al
ejecutar la ruta. Sólo se aplica en producción y a peticiones sin sesión.