DocsBasado en archivos
Enrutamiento basado en archivos
Una ruta es un archivo. La URL es la ruta del archivo relativa a src/routes/, menos la extensión.
Archivo a URL
| Archivo | URL |
|---|---|
index.nexy |
/ |
about.nexy |
/about |
blog/index.nexy |
/blog |
blog/[slug].nexy |
/blog/{slug} |
docs/[...path].nexy |
/docs/{path:path} |
(marketing)/pricing.nexy |
/pricing |
api/users.py |
/api/users |
index se asigna a su directorio, no a /index. Un directorio entre paréntesis es un grupo: organiza archivos sin aparecer en la URL.
En modo cliente los archivos de página son .tsx, .vue o .svelte en lugar de .nexy; las reglas de URL son las mismas.
Dos archivos de esa tabla: una página que lee su segmento y un controlador que responde JSON.
slug: prop[str]<h1>{{ slug }}</h1>async def GET(): return {"users": []}Dos modos
useCSR decide cuáles son las páginas. Los dos no se pueden mezclar en un proyecto: Nexy se niega a iniciarse cuando una página del servidor se encuentra al lado de la ruta de un cliente.
| Modo | paginas | Diseño de raíz | Ver |
|---|---|---|---|
Servidor (useCSR = False) |
.nexy, .md, .mdx |
layout.nexy |
Modo servidor y modo cliente |
Cliente (useCSR = True) |
archivos de marco | layout.tsx |
diseño.tsx |
.py los archivos son controladores de API en ambos modos.
El cambio es una línea de nexyconfig.py:
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react() useCSR = True # client mode: src/routes/*.tsx are the pagesque no es una ruta
- Nombres de archivos reservados:
layout.*,loading.nexy,errors.nexy,notfound.nexy,dependencies.py,middleware.py,__init__.py. - Archivos y carpetas que comienzan con
_o.: utilícelos para parciales y borradores. - Extensiones que no están activas para su proyecto. Un archivo cuya extensión está inactiva se omite con una advertencia.
Un archivo por URL
Se registran dos archivos que se resuelven en la misma URL. No cree blog.nexy junto a blog/index.nexy y no mezcle index.nexy y index.py para la misma ruta. Elige uno.
En esta sección
| Carpeta | lo que cubre |
|---|---|
| páginas/ | páginas, rutas dinámicas, grupos de rutas |
| diseños/ | una página por tipo de archivo de diseño |
| manejadores/ | .py controladores, validación y errores |
| dependencias/ | dependencies.py, guardias |
| software intermedio/ | middleware.py |
| errores/ | páginas no encontradas y de error |
| navegación/ | enlaces, ganchos |
| tiempo real/ | WebSocket |
| herencia | las reglas de herencia en una tabla |