Docsentender el modelo
Enrutamiento
Nexy tiene dos enrutadores nativos. Puedes elegir uno por función; pueden coexistir en la misma aplicación.
¿No estás seguro? Utilice enrutamiento basado en archivos. Cubre páginas y puntos finales API sin configuración. Agregue el enrutador modular cuando un backend necesite controladores, servicios inyectados o guardias.
| tu estas construyendo | uso |
|---|---|
| Páginas, contenido, un sitio con algunos puntos finales. | Basado en archivos |
| Una gran API con servicios compartidos entre rutas | modulares |
| Ambos: páginas para personas, una API estructurada para máquinas | Basado en archivos y modular juntos |
src/routes/index.nexy/src/routes/about.nexy/aboutsrc/routes/blog/index.nexy/blogsrc/routes/blog/[slug].nexy/blog/:slugsrc/routes/(app)/dashboard.nexy/dashboardsrc/routes/api/users.py/api/users(GET, POST, …)/@Controller("/about") class AboutController/about/@Controller("/api/users") class UserController/api/users/(get, post, …)lists the controllersuseRouter = AppModule nexyconfig.pymounts the module| Enrutador | Fuente | Habilitado por |
|---|---|---|
| Basado en archivos (FBR) | cada archivo bajo src/routes/ |
el directorio existe |
| Modulares | controladores y módulos | useRouter = AppModule en nexyconfig.py |
FBR se escanea siempre que existe src/routes/, incluso con un enrutador modular montado.
Convivencia y prioridades
Puede combinar FBR, Modular e integración personalizada. Nexy registra estas rutas en el orden en que se descubren. Si dos enrutadores definen la misma ruta URL, gana el primero registrado.
Nota: Nexy actualmente no proporciona un diagnóstico de colisiones de URL; la primera ruta que reclama un camino simplemente sigue a las demás.
Enrutamiento basado en archivos
Una ruta es un archivo. La URL es su ruta en src/routes/, menos la extensión. Al igual que Next.js, un proyecto está en uno de dos modos, elegidos con useCSR:
useCSR = False (predeterminado) |
useCSR = True |
|
|---|---|---|
| paginas | .nexy, .md, .mdx |
archivos de su marco de cliente |
| Diseño de raíz | layout.nexy |
layout.tsx (React) |
| Componentes del cliente | permitido, como islas dentro de las páginas | las páginas mismas |
| Rutas API | .py |
.py |
Consulte Modo servidor y modo cliente.
| Sección | lo que cubre |
|---|---|
| fbr/páginas | páginas, rutas dinámicas y grupos de rutas |
| fbr/diseños | layout.nexy, layout.tsx, layout.vue, layout.svelte |
| fbr/controladores | .py manejadores de ruta, validación y errores |
| fbr/dependencias | dependencies.py y guardias, heredados por directorio |
| fbr/middleware | middleware.py, heredado por directorio |
| fbr/errores | notfound.nexy, errors.nexy, errores JSON |
| fbr/navegación | vinculación, navegación del cliente, ganchos |
| fbr/tiempo real | WebSocket manejadores |
| fbr/herencia | cómo se heredan los diseños, las dependencias y las páginas de error |
Enrutamiento modular
Controladores, módulos e inyección de dependencias, al estilo de NestJS. Consulte Enrutamiento modular y Nexy y NestJS.
| Sección | lo que cubre |
|---|---|
| modulares | @Controller, @Module, importaciones y exportaciones |
| modular/inyección de dependencia | @Injectable, alcances y el contenedor |
| modular/protecciones-y-metadatos | @UseGuard, @UseResponse y los metadatos OpenAPI |
Un controlador devuelve una vista .nexy con useViews, y la pasa a su diseño manualmente: no hay ningún layout.nexy aplicado por carpeta.
Integración personalizada
También puede integrar un enrutador FastAPI existente en su proyecto Nexy. Consulte Integración de enrutamiento personalizado.
Próximos pasos
- Representación
- Vistas: qué va dentro de los archivos