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

PrerenderIndex

interfaz

Índice manifest.json que se escribe junto al HTML prerenderizado y que leen los adaptadores al arrancar. headOffset se mide en unidades de código UTF-16 del HTML leído como texto, no en bytes.

ts
import type { PrerenderIndex } from "@meekojs/meeko/build";

Código fuente src/framework/prerender.ts:74

Declaración #

ts
interface PrerenderIndex {
	readonly version: 1
	readonly pages: Readonly<
		Record<
			string,
			{
				readonly file: string
				readonly headOffset: number
				readonly etag: string
				readonly payload?: string
				readonly scriptHashes?: readonly string[]
				readonly styleHashes?: readonly string[]
			}
		>
	>
}

Ejemplo #

ts
import { readFile } from "node:fs/promises";
import type { PrerenderIndex } from "@meekojs/meeko/build";

const index = JSON.parse(await readFile(".meeko/output/node/prerender/manifest.json", "utf8")) as PrerenderIndex;
const home = index.pages["/"];

Propiedades #

version #

propiedad sólo lectura

readonly version: 1

Versión del formato.

pages #

propiedad sólo lectura

readonly pages: Readonly<
	Record<
		string,
		{
			readonly file: string
			readonly headOffset: number
			readonly etag: string
			readonly payload?: string
			readonly scriptHashes?: readonly string[]
			readonly styleHashes?: readonly string[]
		}
	>
>

Páginas por ruta: archivo HTML, posición donde se inserta la meta CSRF, ETag, si existe, el payload de navegación index.meeko.json y, desde 1.3, scriptHashes: las fuentes CSP 'sha256-…' de los scripts en línea que ejecuta la página (véase inlineScriptHashes), para construir su Content-Security-Policy con contentSecurityPolicy. Un índice escrito por una versión anterior no tiene scriptHashes. Desde 1.4, styleHashes hace lo mismo con los <style> en línea (véase inlineStyleHashes), como el del tema de <MeekoThemeToggle>. Desde 1.7, sólo cuentan los que escribe Meeko alrededor de la página (la cabecera, el payload, la entrada y bodyEnd): un <script> o un <style> dentro de #app o de un teleport, que puede venir de contenido de usuario, no se autoriza.

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/framework/prerender.ts