Skip to content
Meeko
Type to search the guides and the API reference. Open it from any page with / or Ctrl K; move with the arrow keys and open a result with Enter.
Get started

Contents

On this page

Not translated yet

This page has not been translated into English yet, so it is shown in Spanish.

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";

Source code src/framework/routes-discovery.ts:577

Firma #

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

Parameters #

projectRoot string

Carpeta que contiene app/pages.

options DiscoverRoutesOptions optional

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

Returns #

Promise<readonly RouteRecord[]>

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

Throws #

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).

Example #

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)");

See also #

Was this page helpful?

Add a comment

It is sent when you choose “Yes” or “No”. Only the page, your answer and the comment are stored: no cookies and no personal data.

0 of 2000 characters

Edit on GitHub: packages/meeko/src/framework/routes-discovery.ts