FrameworkHandlerOptions
interfaz
Opciones de createFrameworkHandler.
import type { FrameworkHandlerOptions } from "@meekojs/meeko/server";Código fuente src/server/runtime/framework-render.ts:196
Declaración #
interface FrameworkHandlerOptions<Route = PageRoute> {
readonly routes: readonly RouteRecord[]
readonly errorPage?: ErrorPageRecord | undefined
readonly loadPage: (file: string) => Promise<PageModule>
readonly loadRoute?: (file: string) => Promise<Route>
readonly loadMiddleware?: () => Promise<readonly RouteMiddleware[]>
readonly loadNamedMiddleware?: (file: string) => Promise<RouteMiddleware>
readonly loadServerMiddleware?: (file: string) => Promise<ServerRouteMiddleware>
readonly createContext?: (request: Request) => RequestContext | Promise<RequestContext>
readonly serverFetch?: ServerFetch
readonly onError?: (error: unknown, requestId: string) => void
readonly clientEntry?: string
readonly document?: DocumentOptions
readonly plugins?: readonly PluginRegistration[]
}Parámetros de tipo #
-
Route= PageRoute Tipo de las opciones de ruta que devuelve
loadRoute.
Ejemplo #
import type { FrameworkHandlerOptions } from "@meekojs/meeko/server";
const options: FrameworkHandlerOptions = {
routes,
errorPage,
loadPage,
loadRoute,
clientEntry: "/assets/entry-client.js",
onError: (error, requestId) => console.error(requestId, error),
};Propiedades #
errorPage
#
readonly errorPage?: ErrorPageRecord | undefinedPágina de error de la aplicación (app/error.meeko) y sus layouts raíz. Una petición de página
sin ruta la renderiza con estado 404 y payload de hidratación; una ruta sin error que falla
la usa como página de error.
loadPage
#
readonly loadPage: (file: string) => Promise<PageModule>Carga el módulo compilado de una página, un layout o una página de error.
loadRoute
#
readonly loadRoute?: (file: string) => Promise<Route>Carga las opciones de ruta de un sidecar o un bloque <script server>.
loadMiddleware
#
readonly loadMiddleware?: () => Promise<readonly RouteMiddleware[]>Middleware de ruta isomórfico global, que se evalúa antes del loader en todas las rutas.
loadNamedMiddleware
#
readonly loadNamedMiddleware?: (file: string) => Promise<RouteMiddleware>Carga un middleware con nombre de RouteRecord.middleware por su archivo. Se ejecuta
después de los globales en las rutas que lo declaran; una ruta con middleware con nombre y sin
este cargador falla en lugar de saltárselo.
loadServerMiddleware
#
readonly loadServerMiddleware?: (file: string) => Promise<ServerRouteMiddleware>Carga un middleware de ruta de servidor (app/middleware/*.server.ts) de
RouteRecord.serverMiddleware por su archivo. Esa lista es la cadena completa de la ruta,
los globales y después los con nombre, y se ejecuta después del middleware isomórfico y antes del
sidecar y el loader. Una ruta que lista alguno y no tiene este cargador falla en lugar de
saltárselo.
createContext
#
readonly createContext?: (request: Request) => RequestContext | Promise<RequestContext>Crea el contexto de cada petición: sesión, servicios y plataforma.
serverFetch
#
readonly serverFetch?: ServerFetchDespachador local opcional para las llamadas automáticas a API y RPC durante SSR.
onError
#
readonly onError?: (error: unknown, requestId: string) => voidRecibe los fallos internos de las páginas con el ID de la petición; nunca llegan al navegador.
document
#
readonly document?: DocumentOptionsAñadidos del host a cada documento HTML que renderiza el handler.
plugins
#
readonly plugins?: readonly PluginRegistration[]Plugins de aplicación (definePlugin) que se ejecutan, en orden, una vez por petición de página
antes del render. Sus valores de provide llegan a la página, sus layouts y la página de error.