Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

AppManifest

interfaz

Todo lo que el servidor necesita para enrutar peticiones, fijado en el build. Los archivos son claves de módulo relativas al proyecto, como /app/pages/index.meeko.

ts
import type { AppManifest } from "@meekojs/meeko/server";

Código fuente src/server/runtime/app.ts:81

Declaración #

ts
interface AppManifest {
	readonly version: 1
	readonly routes: readonly RouteRecord[]
	readonly errorPage?: ErrorPageRecord | undefined
	readonly server: ServerManifest
	readonly routeMiddleware: readonly string[]
	readonly serverMiddleware: readonly string[]
	readonly serverHandlers?: readonly { readonly route: string; readonly file: string }[]
	readonly client: ClientAssets
	readonly assets?: AssetManifest
	readonly document?: DocumentConfig | undefined
	readonly contentSecurityPolicy?: ContentSecurityPolicy | undefined
	readonly headers?: ServerHeaders | undefined
	readonly publicFileHeaders?: Readonly<Record<string, Readonly<Record<string, string>>>> | undefined
	readonly buildId?: string | undefined
}

Ejemplo #

ts
import type { AppManifest } from "@meekojs/meeko/server";

const manifest: AppManifest = {
  version: 1,
  routes: [{ id: "/", file: "/app/pages/index.meeko", layouts: ["/app/app.meeko"] }],
  errorPage: { file: "/app/error.meeko", layouts: ["/app/app.meeko"] },
  server: { api: [], rpc: [], socket: [] },
  routeMiddleware: [],
  serverMiddleware: ["/server/middleware/10-headers.ts"],
  client: { entry: "/assets/entry.js", css: [], preload: [] },
};

Propiedades #

version #

propiedad sólo lectura

readonly version: 1

Versión del formato.

routes #

propiedad sólo lectura

readonly routes: readonly RouteRecord[]

Manifiesto de rutas.

errorPage #

propiedad sólo lectura opcional desde 1.1.0

readonly errorPage?: ErrorPageRecord | undefined

app/error.meeko y sus layouts raíz; renderiza las URL sin ruta.

server #

propiedad sólo lectura

readonly server: ServerManifest

Endpoints de API, procedimientos RPC y canales Socket.

routeMiddleware #

propiedad sólo lectura

readonly routeMiddleware: readonly string[]

Módulos de app/middleware globales, en orden de ejecución. Desde 1.6, los middleware con nombre no están aquí: cada ruta lista los suyos en RouteRecord.middleware.

serverMiddleware #

propiedad sólo lectura

readonly serverMiddleware: readonly string[]

Módulos de server/middleware, en orden de ejecución; los que añaden los módulos van primero.

serverHandlers #

propiedad sólo lectura opcional desde 1.2.0

readonly serverHandlers?: readonly { readonly route: string; readonly file: string }[]

Handlers que añaden los módulos con meeko.addServerHandler: ruta exacta y módulo cuyo export por defecto es (request) => Response | Promise<Response>. Se ejecutan después del middleware.

client #

propiedad sólo lectura

readonly client: ClientAssets

Archivos del build cliente.

assets #

propiedad sólo lectura opcional

readonly assets?: AssetManifest

Archivos públicos del build; en desarrollo los sirve Vite.

document #

propiedad sólo lectura opcional desde 1.2.0

readonly document?: DocumentConfig | undefined

document de meeko.config.ts, con el head que añaden los módulos, fijado en el build.

contentSecurityPolicy #

propiedad sólo lectura opcional desde 1.7.0

readonly contentSecurityPolicy?: ContentSecurityPolicy | undefined

server.contentSecurityPolicy de meeko.config.ts en los adaptadores con servidor, fijado en el build. En producción, la aplicación pone la cabecera en cada respuesta: con los hashes del build, un nonce por petición o los hashes del HTML según la página, y default-src 'none'; frame-ancestors 'none' en el JSON de API, RPC y navegación.

headers #

propiedad sólo lectura opcional desde 1.7.0

readonly headers?: ServerHeaders | undefined

server.headers de meeko.config.ts en los adaptadores con servidor, fijado en el build: las cabeceras globales y por patrón de ruta que la aplicación añade a las respuestas que no las traen.

publicFileHeaders #

propiedad sólo lectura opcional desde 1.8.0

readonly publicFileHeaders?: Readonly<Record<string, Readonly<Record<string, string>>>> | undefined

Cabeceras de los archivos públicos que un módulo añade con addPublicFile, por el pathname exacto que tiene una petición de ese archivo, ya codificado como URL (/font%20test.woff2). Se aplican sobre las cabeceras globales de headers y bajo sus patrones de ruta, que sustituyen sólo las cabeceras que fijan, sin distinguir mayúsculas de minúsculas.

buildId #

propiedad sólo lectura opcional desde 1.7.0

readonly buildId?: string | undefined

Identificador del build, distinto en cada meeko build. Entra en el ETag de las páginas con cache, así que un despliegue nuevo invalida las copias del navegador. Sin él, cada proceso usa uno aleatorio.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/server/runtime/app.ts