DokuDateibasiert
Servermodus und Clientmodus
Ein Nexy-Projekt wird entweder vom Server gerendert oder vom Client weitergeleitet, so wie ein Next.js-Projekt entweder auf dem Server gerenderte Seiten oder eine Client-App ist. useCSR in nexyconfig.py wählt.
Servermodus (useCSR = False)
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react()- Seiten sind
.nexy-,.md- oder.mdx-Dateien untersrc/routes/. - Die Wurzel
layout.nexybesitzt<!DOCTYPE html>,<html>,<head>und<body>. - Client-Komponenten (React, Vue, Svelte, Solid oder Preact) sind als Inseln zulässig: Sie importieren eine von einer
.nexy-Seite und sie wird im Browser angezeigt. Siehe Inseln. - Eine Clientkomponente ist niemals eine Route. Bewahren Sie sie in
src/components/auf. - Jeweils ein Client-Framework.
src/
routes/
layout.nexydocument
index.nexypage
api/users.pyAPI handler
components/Counter.tsx island
Client-Modus (useCSR = True)
class NexyConfig(NexyConfigModel): useFF = react() useCSR = True- Seiten sind die Dateien Ihres Client-Frameworks:
.tsxfür React,.vue,.svelte. .md- und.mdx-Dateien bleiben gültige Routen: Nexy rendert sie auf dem Server im Client-Layout und der Client-Router übernimmt von dort aus die Navigation.- Das Root-Layout eines beliebigen Frameworks (
layout.tsx,layout.vue,layout.svelte) besitzt<!DOCTYPE html>,<html>,<head>und<body>, wie das Root-Layout des Next.js App Routers. Nexy rendert es in Node für die erste Antwort und das Framework hydratisiert das gesamte Dokument. Siehe layout.tsx. .py-Dateien sind API-Handler, die von FastAPI neben den Client-Routen bereitgestellt werden.- Es gibt überhaupt keine
.nexy-Datei und keinelayout.nexy. - Die Navigation zwischen den Seiten erfolgt im Browser.
src/routes/
layout.tsxdocument
index.tsxpage
users.tsxpage
api/users.pyAPI handler
Was wird abgelehnt
Nexy prüft das Projekt vor nx dev, nx start und nx build und stoppt mit der Liste der Dateien:
| Modus | Abgelehnt | Nachricht |
|---|---|---|
| Server | .tsx, .jsx, .vue oder .svelte unter src/routes/ |
Komponenten nach src/components/ verschieben oder useCSR = True festlegen |
| Kunde | jede .nexy-Datei unter src/routes/ |
Schreiben Sie sie als Framework-Komponenten oder legen Sie fest useCSR = False |
| beides | mehr als ein Frontend-Framework in useFF |
useFF must configure exactly one frontend framework |
| Kunde | useRouter (modularer Router) |
useCSR requires file-based routing |
| Kunde | nein useFF |
useCSR requires a client framework |
Dateien und Ordner, die mit _ oder . beginnen, werden bei dieser Prüfung ignoriert.
Welches
- Inhalt, Marketing, Dokumente, SEO-First-Sites: Servermodus mit Inseln.
- Dashboards und Apps mit Rich-Client-Navigation: Client-Modus.
- Eine Python API mit einer Client-App oben: Client-Modus, mit
.pyHandlern neben den Seiten.