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

discoverRoutes

función

Descubre las páginas de app/pages con sus layouts, su +error.meeko más cercano y sus opciones de ruta (<script server> o sidecar *.route.ts), y lee render y, desde 1.5, layout y los +group.ts de sus carpetas sin ejecutar código. El manifiesto resultante se puede serializar para el navegador.

Los layouts de una página van de fuera hacia dentro: app/app.meeko, el layout con nombre que elige (o hereda de sus +group.ts, o default) y los +layout.meeko de sus carpetas. Desde 1.6, el middleware de sus +group.ts y de la página se resuelve, de fuera hacia dentro y sin repetir, contra los middleware con nombre de app/middleware del proyecto (el de shell, si se pasa): los isomórficos van a middleware y los de servidor (*.server.ts), a serverMiddleware, que lleva la cadena completa de la ruta: los globales de servidor y después los con nombre (ninguno en las páginas render: "client" y "prerender").

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

Código fuente src/framework/routes-discovery.ts:577

Firma #

ts
function discoverRoutes(projectRoot: string, options?: DiscoverRoutesOptions): Promise<readonly RouteRecord[]>

Parámetros #

projectRoot string

Carpeta que contiene app/pages.

options DiscoverRoutesOptions opcional

shell para descubrir un layer o módulo dentro del proyecto y layouts de las demás fuentes.

Devuelve #

Promise<readonly RouteRecord[]>

El manifiesto de rutas ordenado, con rutas de archivo absolutas.

Lanza #

Error

Si hay dos layouts o páginas de error raíz, una página declara sus opciones dos veces, render o layout no son literales válidos, un layout no existe o dos rutas colisionan; desde 1.6, también si un middleware no existe o es global, o si una página render: "client" o "prerender" pide un middleware de ruta de servidor (*.server.ts).

Ejemplo #

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

const routes = await discoverRoutes(process.cwd());
for (const route of routes) console.log(route.id, route.render ?? "ssr", route.layout?.name ?? "(sin layout)");

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/routes-discovery.ts