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

ServerAppOptions

interfaz

Opciones de createServerApp.

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

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

Declaración #

ts
interface ServerAppOptions<Env = Readonly<Record<string, string | undefined>>> {
	readonly manifest: AppManifest
	readonly load: AppModuleLoader
	readonly runtime?: ServerRuntimeDefinition<Env, any> | undefined
	readonly production: boolean
	readonly appName?: string | undefined
	readonly loadRedis?: (() => Promise<unknown>) | undefined
	readonly platform?: ServerPlatform<Env>
	readonly assets?: AssetReader
	readonly prerender?: PrerenderSource
	readonly document?: DocumentOptions
	readonly publicOrigin?: string
	readonly prerendering?: boolean
	readonly root?: string | undefined
	readonly defaultSocketPubSub?: SocketPubSub
	readonly plugins?: readonly PluginRegistration[]
}

Parámetros de tipo #

Env = Readonly<Record<string, string | undefined>>

Tipo de las variables o bindings del entorno.

Ejemplo #

ts
import { createServerApp } from "@meekojs/meeko/server";
import type { ServerAppOptions } from "@meekojs/meeko/server";
import { load, manifest, runtime } from "virtual:meeko-server-app";

const options: ServerAppOptions = {
  manifest, load, runtime,
  production: true,
  platform: { name: "node", env: process.env, waitUntil: () => {} },
  publicOrigin: "https://example.com",
};
const app = await createServerApp(options);

Propiedades #

manifest #

propiedad sólo lectura

readonly manifest: AppManifest

Manifiesto fijado en el build.

load #

propiedad sólo lectura

readonly load: AppModuleLoader

Cargador de módulos por clave del manifiesto.

runtime #

propiedad sólo lectura opcional

readonly runtime?: ServerRuntimeDefinition<Env, any> | undefined

Export por defecto de server/runtime.ts. Si falta, o no devuelve sessions, Meeko crea las sesiones: en memoria en desarrollo y, en producción, en Redis con MEEKO_REDIS_URL.

production #

propiedad sólo lectura

readonly production: boolean

Modo producción: exige un store de sesiones persistente y oculta los detalles de los errores.

appName #

propiedad sólo lectura opcional desde 1.2.0

readonly appName?: string | undefined

Nombre de la aplicación (el name de package.json), para el prefijo Redis por defecto de las sesiones, meeko:<nombre>:prod:. La entrada que genera Meeko lo pasa.

loadRedis #

propiedad sólo lectura opcional desde 1.2.0

readonly loadRedis?: (() => Promise<unknown>) | undefined

Importa el paquete redis del proyecto para las sesiones de producción con MEEKO_REDIS_URL cuando server/runtime.ts no declara sessions. La entrada que genera Meeko lo pasa en Node, Bun y Deno si el proyecto instala redis; Workers no lo tiene, porque no abre conexiones TCP.

platform #

propiedad sólo lectura opcional

readonly platform?: ServerPlatform<Env>

Plataforma que recibe la fábrica del runtime y que se usa cuando fetch no recibe otra.

assets #

propiedad sólo lectura opcional

readonly assets?: AssetReader

Lector de los archivos públicos del build.

prerender #

propiedad sólo lectura opcional

readonly prerender?: PrerenderSource

Páginas prerenderizadas; sus URL se sirven sin loader ni render.

document #

propiedad sólo lectura opcional

readonly document?: DocumentOptions

Añadidos del host a cada documento HTML.

publicOrigin #

propiedad sólo lectura opcional

readonly publicOrigin?: string

Sustituye a ServerRuntime.publicOrigin.

prerendering #

propiedad sólo lectura opcional

readonly prerendering?: boolean

Lo activa meeko build mientras prerenderiza páginas.

root #

propiedad sólo lectura opcional desde 1.8.0

readonly root?: string | undefined

Raíz absoluta del proyecto, que recibe la fábrica del runtime como ServerRuntimeContext.root. Las entradas que genera Meeko la pasan en meeko dev y en las salidas de Node, Bun y Deno.

defaultSocketPubSub #

propiedad sólo lectura opcional

readonly defaultSocketPubSub?: SocketPubSub

Broker de Socket si el runtime no declara ninguno, como el de Durable Objects en Cloudflare.

plugins #

propiedad sólo lectura opcional desde 1.2.0

readonly plugins?: readonly PluginRegistration[]

Plugins de aplicación del servidor (*.server.ts y universales), que se ejecutan una vez por petición de página antes del render. La entrada que genera Meeko pasa los de app/plugins y los módulos.

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