discoverRouteMiddleware
función Desde 1.6.0
Descubre el middleware de ruta de app/middleware de un proyecto, también en subcarpetas, sin
ejecutarlo. Un archivo es global, como hasta 1.5, salvo que exporte
defineRouteMiddleware(fn, { global: false }): entonces es un middleware con nombre, que las rutas
eligen con middleware en definePage o en un +group.ts. El nombre es la ruta del archivo sin
.ts ni el prefijo numérico de orden de cada parte (10-auth.ts es "auth",
admin/20-role.ts es "admin/role"). Los *.server.ts son middleware de ruta de servidor, con
defineServerRouteMiddleware y la misma regla de nombres (auth.server.ts es "auth"). Se
excluyen *.test.ts, *.spec.ts, *.d.ts y *.client.ts.
import { discoverRouteMiddleware } from "@meekojs/meeko/build";Código fuente src/framework/route-middleware-discovery.ts:206
Firma #
function discoverRouteMiddleware(projectRoot: string): Promise<RouteMiddlewareDiscovery>Parámetros #
-
projectRootstring Carpeta que contiene
app/middleware.
Devuelve #
-
Promise<RouteMiddlewareDiscovery> Los archivos globales isomórficos y de servidor en orden de ejecución, y los middleware con nombre de las dos clases.
Lanza #
-
Error Si las opciones de un archivo no son un objeto literal, un middleware con nombre no tiene un nombre válido, dos archivos dan el mismo nombre y uno de ellos es con nombre (también
auth.tsyauth.server.ts), o un*.server.tsno exporta por defecto undefineServerRouteMiddleware(...).
Ejemplo #
import { discoverRouteMiddleware } from "@meekojs/meeko/build";
const { global, named } = await discoverRouteMiddleware(process.cwd());
console.log(global.length, Object.keys(named)); // 1 ["auth", "admin/role"]Véase también #
- Middleware de rutas y servidor Framework full-stack