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 :
title: prop[str] = "Hello"<h1>{{ title }}</h1>Un contrôleur renvoie une vue. Créer 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 :
@Controller("/hello")class HelloController: async def get(self): return useViews(LAYOUT, context={"children": useViews("src/apps/hello_view.nexy")})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 |