DokuBefehle und Konfiguration
Konfig
Konfiguration ist eine Klasse in nexyconfig.py im Projektstamm. Nexy lädt es aus dem Verzeichnis, in dem es ausgeführt wird; Ein Projekt ohne die Datei verwendet die Standardeinstellungen.
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react() usePort = 3000 useTitle = "My App" useAliases = {"@": "src"}Server
| Feld | Standard | Bedeutung |
|---|---|---|
usePort |
3000 |
Port für dev und start |
useHost |
"0.0.0.0" |
Bindungsadresse |
useSslKeyfile, useSslCertfile |
None |
HTTPS direkt bereitstellen |
useDevTools |
True |
die Symbolleiste nexy dev fügt zu jeder Seite hinzu (Seiteninformationen, Routen, Fehler, Konfiguration); False entfernt es. Niemals in der Produktion vorhanden |
useHealth |
False |
dienen GET /health/live und GET /health/ready für Load Balancer und Kubernetes-Probes; siehe Bereitstellen |
useWorkers |
0 |
Prozesse nx start läuft; 0 ist einer pro CPU unter Linux und macOS, einer unter Windows |
useCSR |
False |
Client-seitiger Routing-Modus; .nexy Routen sind deaktiviert |
Routen
| Feld | Standard | Bedeutung |
|---|---|---|
useRouter |
None |
eine APIRouter-Instanz oder -Klasse, die neben den dateibasierten Routen bereitgestellt wird; None bedeutet nur dateibasiert |
excludeDirs |
["templates", "extension", "docs"] |
Beim Scannen von Routen werden Verzeichnisse übersprungen |
useAliases |
None |
Aliase importieren, z.B. {"@": "src"} (@/components/Counter.tsx bedeutet src/components/Counter.tsx); nx new schreibt das von Ihnen gewählte, und Vite und tsconfig.json folgen ihm |
Frontend
| Feld | Standard | Bedeutung |
|---|---|---|
useFF |
None |
Client-Framework-Fabrik: react(), vue(), svelte(), solid(), preact() |
useVite |
True |
Erstellen und Bereitstellen von Client-Bundles mit Vite |
useMarkdownExtensions |
[] |
Zusätzliche Erweiterungen für das Rendern von .md/.mdx. |
useWatchExtensions |
None |
Zusätzliche Erweiterungen, die der Entwicklungsserver überwacht |
useWatchExcludePatterns |
None |
Glob-Muster, die der Entwicklungsserver ignoriert |
Gut zu wissen:
NexyConfigModelerklärtuseVite = False; Der Standardwert für die LaufzeitConfigistTrue.
Reservierte Dateinamen
Jedes Feld fügt einer reservierten Rolle Erweiterungen hinzu. useLayoutExtensions = ["md"] macht layout.md reserviert, genau wie layout.nexy.
| Feld | Fügt Erweiterungen hinzu |
|---|---|
useLayoutExtensions |
layout.* |
useNotFoundExtensions |
notfound.* |
useErrorsExtensions |
errors.* |
useForbiddenExtensions |
forbidden.* |
useUnauthorizedExtensions |
unauthorized.* |
useLoadingExtensions |
loading.* |
API-Dokumentation
| Feld | Standard | Bedeutung |
|---|---|---|
useDocs |
True |
Bereitstellung der Scalar-Referenzseite; /openapi.json wird in beide Richtungen serviert |
useDocsUrl |
"/docs" |
Pfad der API-Referenzseite |
useRedocsUrl |
"/redocs" |
deklariert, aber keine Route gemountet |
useTitle |
"Nexy App" |
OpenAPI Titel und Seitentitel ("Nexy" in NexyConfigModel) |
Kostenlos /docs für eine Seite des Projekts
Die API-Referenz antwortet /docs vor jeder Route, daher wird src/routes/docs.nexy oder src/routes/docs/[[...slug]].nexy dort nie bereitgestellt. nx dev und nx start benennen eine solche Seite beim Start. Verschieben Sie die Referenz mit useDocsUrl:
from nexy.core.models import NexyConfigModel class NexyConfig(NexyConfigModel): useDocsUrl = "/api-reference"Oder schalten Sie es mit useDocs = False aus. /openapi.json bleibt in beiden Fällen erhalten: Halten Sie die Routen des Projekts von diesem Pfad fern.
Middleware
| Feld | Standard | Bedeutung |
|---|---|---|
useMiddlewares |
[] |
ASGI-Middleware-Klassen |
useCORS |
None |
Kwargs für CORSMiddleware |
useGZip |
None |
Kwargs für GZipMiddleware |
useTrustedHost |
None |
Kwargs für TrustedHostMiddleware |
useSession |
None |
Kwargs für SessionMiddleware |
useAuth |
None |
Authentifizierungs-Middleware-Konfiguration |
useHTTPSRedirect |
False |
HTTP auf HTTPS umleiten |
Markdown
| Feld | Standard | Bedeutung |
|---|---|---|
useTocDepth |
"2-6" |
Überschriftenebenen im Inhaltsverzeichnis |
useTocTitle |
"Table of Contents" |
Inhaltsverzeichnis-Titel |
useTocAuto |
True |
Generieren Sie das Inhaltsverzeichnis für Markdown Seiten |
Routen außerhalb des Dateibaums
Baue ein FastAPI APIRouter und montiere es mit useRouter. Es wird neben den dateibasierten Routen bereitgestellt:
from fastapi import APIRouterfrom nexy.core.models import NexyConfigModel router = APIRouter() @router.get("/health")def health(): return {"status": "ok"} class NexyConfig(NexyConfigModel): useRouter = routerDie oben genannten Standardwerte werden aus nexy/core/config.py gelesen.
Deklariert, noch nicht gelesen
Diese Felder sind in NexyConfigModel vorhanden, aber kein Code nutzt sie. Das Festlegen hat keine Auswirkung:
useViteDevUrl, useRTL.
Nächste Schritte
- i18n: Internationalisierung
- Frontend:
useFFund der Client-Build - Deployment: Produktionsoptionen