DocsComandos y configuración
configuración
La configuración es una clase en nexyconfig.py en la raíz del proyecto. Nexy lo carga desde el directorio en el que se ejecuta; un proyecto sin el archivo utiliza los valores predeterminados.
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react() usePort = 3000 useTitle = "My App" useAliases = {"@": "src"}Servidor
| campo | Predeterminado | Significado |
|---|---|---|
usePort |
3000 |
puerto para dev y start |
useHost |
"0.0.0.0" |
dirección de enlace |
useSslKeyfile, useSslCertfile |
None |
servir HTTPS directamente |
useDevTools |
True |
la barra de herramientas nexy dev agrega a cada página (información de la página, rutas, errores, configuración); False lo elimina. Nunca presente en producción. |
useHealth |
False |
servir GET /health/live y GET /health/ready para balanceadores de carga y sondas de Kubernetes; consulte Implementar |
useWorkers |
0 |
procesa nx start ejecuciones; 0 es uno por CPU en Linux y macOS, uno en Windows |
useCSR |
False |
modo de enrutamiento del lado del cliente; .nexy rutas están deshabilitadas |
Rutas
| campo | Predeterminado | Significado |
|---|---|---|
useRouter |
None |
una APIRouter instancia o clase montada junto a las rutas basadas en archivos; None significa basado únicamente en archivos |
excludeDirs |
["templates", "extension", "docs"] |
directorios omitidos al escanear rutas |
useAliases |
None |
importar alias, p. {"@": "src"} (@/components/Counter.tsx significa src/components/Counter.tsx); nx new escribe el que elegiste, y Vite y tsconfig.json lo siguen |
Interfaz
| campo | Predeterminado | Significado |
|---|---|---|
useFF |
None |
fábrica de marco de cliente: react(), vue(), svelte(), solid(), preact() |
useVite |
True |
crear y servir paquetes de clientes con Vite |
useMarkdownExtensions |
[] |
extensiones adicionales para el renderizado .md/.mdx |
useWatchExtensions |
None |
extensiones adicionales que observa el servidor de desarrollo |
useWatchExcludePatterns |
None |
patrones globales que el servidor de desarrollo ignora |
Es bueno saberlo:
NexyConfigModeldeclarauseVite = False; el tiempo de ejecuciónConfigpredeterminado esTrue.
Nombres de archivos reservados
Cada campo agrega extensiones a un rol reservado. useLayoutExtensions = ["md"] hace que layout.md esté reservado, exactamente como layout.nexy.
| campo | Agrega extensiones a |
|---|---|
useLayoutExtensions |
layout.* |
useNotFoundExtensions |
notfound.* |
useErrorsExtensions |
errors.* |
useForbiddenExtensions |
forbidden.* |
useUnauthorizedExtensions |
unauthorized.* |
useLoadingExtensions |
loading.* |
Documentación API
| campo | Predeterminado | Significado |
|---|---|---|
useDocs |
True |
servir la página de referencia de Scalar; /openapi.json se sirve de cualquier manera |
useDocsUrl |
"/docs" |
ruta de la página de referencia de API |
useRedocsUrl |
"/redocs" |
declarado pero no se monta ninguna ruta |
useTitle |
"Nexy App" |
OpenAPI título y título de la página ("Nexy" en NexyConfigModel) |
Gratis /docs para una página del proyecto
La referencia de API responde /docs antes de cualquier ruta, por lo que src/routes/docs.nexy o src/routes/docs/[[...slug]].nexy nunca se sirven allí. nx dev y nx start nombran dicha página al inicio. Mueva la referencia con useDocsUrl:
from nexy.core.models import NexyConfigModel class NexyConfig(NexyConfigModel): useDocsUrl = "/api-reference"O apáguelo con useDocs = False. /openapi.json permanece atendido en ambos casos: mantener las rutas del proyecto fuera de ese camino.
software intermedio
| campo | Predeterminado | Significado |
|---|---|---|
useMiddlewares |
[] |
Clases de middleware ASGI |
useCORS |
None |
kwargs por CORSMiddleware |
useGZip |
None |
kwargs por GZipMiddleware |
useTrustedHost |
None |
kwargs por TrustedHostMiddleware |
useSession |
None |
kwargs para SessionMiddleware |
useAuth |
None |
configuración del middleware de autenticación |
useHTTPSRedirect |
False |
redirigir HTTP a HTTPS |
Markdown
| campo | Predeterminado | Significado |
|---|---|---|
useTocDepth |
"2-6" |
niveles de encabezado incluidos en la tabla de contenido |
useTocTitle |
"Table of Contents" |
Título del TOC |
useTocAuto |
True |
generar la tabla de contenidos para Markdown páginas |
Rutas fuera del árbol de archivos
Construye un FastAPI APIRouter y móntalo con useRouter. Se sirve junto a las rutas basadas en archivos:
from fastapi import APIRouterfrom nexy.core.models import NexyConfigModel router = APIRouter() @router.get("/health")def health(): return {"status": "ok"} class NexyConfig(NexyConfigModel): useRouter = routerLos valores predeterminados anteriores se leen desde nexy/core/config.py.
Declarado, aún no leído
Estos campos existen en NexyConfigModel pero ningún código los consume. Configurarlos no tiene ningún efecto:
useViteDevUrl, useRTL.
Próximos pasos
- i18n: internacionalización
- Frontend:
useFFy la compilación del cliente - Implementar: opciones de producción