DocsPremiers pas

Démarrage rapide

Vous allez créer un projet Nexy, l'exécuter et voir une page changer au fur et à mesure que vous le modifiez. Cela prend trois minutes. Le Tutoriel ajoute ensuite un point de terminaison et une version de production.

Avant de commencer

Vous avez besoin de Pourquoi
Python 3,12+ requires-python dans pyproject.toml
uv fournit uvx, crée le projet et installe ses packages
Node.js 18+ uniquement si vous utilisez un framework client (React, Vue, Svelte, Solid, Preact)

Non uv encore ? Voir Installation.

1. Créez le projet

uvx nexy new my-app

uvx est livré avec uv, alors installez d'abord uv. Il exécute Nexy dans un environnement temporaire, suffisant pour créer le projet. nexy new crée ensuite le propre .venv du projet et y installe ses packages. Quatre invites décident du câblage :

Invite Effet
Routeur basé sur des fichiers ? Yes scanne src/routes/ ; No échafaude le routeur modulaire dans src/apps/
Le type de projet Web ajoute une mise en page et des actifs client, API démarre sans vues
Composant client ? ajoute un framework et sa configuration Vite
ORM/base de données ajoute une couche de modèle, ou rien

Vous n'êtes pas sûr ? Répondez Yes, Web et aucun composant client. Vous pourrez les ajouter plus tard.

2. Exécutez-le

cd my-app.venv\Scripts\activate    # Windows; on macOS and Linux: source .venv/bin/activatenexy dev

Ouvrez http://localhost:3000. Vous devriez voir la page de démarrage. Le port provient de usePort (par défaut 3000) ; --port et --host le remplacent par exécution.

3. Changer une page

Un fichier sous src/routes/ est une route. Créer src/routes/hello.nexy :

src/routes/bonjour.nexy
---title: prop[str] = "Hello"---<h1>{{ title }}</h1>

Un contrôleur renvoie une vue. Créer src/apps/hello_view.nexy :

src/apps/hello_view.nexy
---title: prop[str] = "Hello"---<h1>{{ title }}</h1>

Déclarez ensuite la page dans src/apps/app_controller.py et ajoutez-la au module :

src/apps/app_controller.py
@Controller("/hello")class HelloController:    async def get(self):        return useViews(LAYOUT, context={"children": useViews("src/apps/hello_view.nexy")})
src/apps/app_module.py
from .app_controller import AboutController, AppController, HelloController controllers = [AppController, AboutController, HelloController]

Ouvrez http://localhost:3000/hello. Remplacez "Hello" par "Bonjour" et enregistrez : la page se met à jour sans rechargement manuel. Si le code est erroné, le navigateur affiche l'erreur au lieu d'une page vierge.

prop[str] déclare une propriété typée. Le balisage sous le frontmatter est Jinja2 - voir fichiers .nexy.

Où ensuite

Vous souhaitez Lire
Ajoutez un point de terminaison Python et expédiez une build Tutoriel
Savoir où appartient chaque fichier Structure du projet
Comprendre qui construit quoi Comment fonctionne Nexy
Utilisez React, Vue, Svelte, Solid ou Preact Vues

Modifier sur GitHub

Entrée ouvre le résultat, Échap ferme.