DocsBasé sur un fichier
Mode serveur et mode client
Un projet Nexy est soit rendu par le serveur, soit routé par le client, comme un projet Next.js est soit des pages rendues sur le serveur, soit une application client. useCSR dans nexyconfig.py choisit.
Mode serveur (useCSR = False)
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react()- Les pages sont des fichiers
.nexy,.mdou.mdxsoussrc/routes/. - La racine
layout.nexypossède<!DOCTYPE html>,<html>,<head>et<body>. - Les composants clients (React, Vue, Svelte, Solid ou Preact) sont autorisés en tant qu'îles : vous en importez un à partir d'une page
.nexyet il s'hydrate dans le navigateur. Voir Îles. - Un composant client n'est jamais une route. Gardez-les dans
src/components/. - Un framework client à la fois.
src/
routes/
layout.nexydocument
index.nexypage
api/users.pyAPI handler
components/Counter.tsx island
Mode client (useCSR = True)
class NexyConfig(NexyConfigModel): useFF = react() useCSR = True- Les pages sont les fichiers de votre framework client :
.tsxpour React,.vue,.svelte. - Les fichiers
.mdet.mdxrestent des itinéraires valides : Nexy les restitue sur le serveur à l'intérieur de la configuration client, et le routeur client prend en charge la navigation à partir de là. - La disposition racine de n'importe quel framework (
layout.tsx,layout.vue,layout.svelte) possède<!DOCTYPE html>,<html>,<head>et<body>, comme la disposition racine du routeur d'application Next.js. Nexy le restitue dans Node pour la première réponse et le framework hydrate l'ensemble du document. Voir layout.tsx. - Les fichiers
.pysont des gestionnaires d'API servis par FastAPI, à côté des routes client. - Il n'y a aucun fichier
.nexydu tout, ni aucunlayout.nexy. - La navigation entre les pages s'effectue dans le navigateur.
src/routes/
layout.tsxdocument
index.tsxpage
users.tsxpage
api/users.pyAPI handler
Ce qui est rejeté
Nexy vérifie le projet avant nx dev, nx start et nx build et s'arrête avec la liste des fichiers :
| Mode | Rejeté | Message |
|---|---|---|
| serveur | .tsx, .jsx, .vue ou .svelte sous src/routes/ |
déplacer les composants vers src/components/, ou définir useCSR = True |
| client | n'importe quel fichier .nexy sous src/routes/ |
écrivez-les en tant que composants du framework, ou définissez useCSR = False |
| les deux | plus d'un framework frontend dans useFF |
useFF must configure exactly one frontend framework |
| client | useRouter (routeur modulaire) |
useCSR requires file-based routing |
| client | non useFF |
useCSR requires a client framework |
Les fichiers et dossiers commençant par _ ou . sont ignorés par cette vérification.
Lequel
- Contenu, marketing, documentation, sites SEO-first : mode serveur avec îlots.
- Tableaux de bord et applications avec navigation client riche : mode client.
- Une Python API avec une application client en haut : mode client, avec des
.pygestionnaires à côté des pages.