Structure et organisation du projet

Cette page fournit un aperçu de toutes les conventions de dossiers et fichiers dans Next.js, ainsi que des recommandations pour organiser votre projet.

Conventions de dossiers et fichiers

Dossiers de premier niveau

Les dossiers de premier niveau sont utilisés pour organiser le code et les ressources statiques de votre application.

Segments de route en segments de chemin
appRouteur d'application
pagesRouteur de pages
publicRessources statiques à servir
srcDossier source optionnel de l'application

Fichiers de premier niveau

Les fichiers de premier niveau sont utilisés pour configurer votre application, gérer les dépendances, exécuter des middlewares, intégrer des outils de surveillance et définir des variables d'environnement.

Next.js
next.config.jsFichier de configuration pour Next.js
package.jsonDépendances et scripts du projet
instrumentation.tsFichier OpenTelemetry et Instrumentation
middleware.tsMiddleware de requête Next.js
.envVariables d'environnement
.env.localVariables d'environnement locales
.env.productionVariables d'environnement de production
.env.developmentVariables d'environnement de développement
.eslintrc.jsonFichier de configuration pour ESLint
.gitignoreFichiers et dossiers à ignorer pour Git
next-env.d.tsFichier de déclaration TypeScript pour Next.js
tsconfig.jsonFichier de configuration pour TypeScript
jsconfig.jsonFichier de configuration pour JavaScript

Conventions de fichiers

_app.js .jsx .tsxApp personnalisée
_document.js .jsx .tsxDocument personnalisé
_error.js .jsx .tsxPage d'erreur personnalisée
404.js .jsx .tsxPage d'erreur 404
500.js .jsx .tsxPage d'erreur 500

Routes

Convention de dossier
index.js .jsx .tsxPage d'accueil
dossier/index.js .jsx .tsxPage imbriquée
Convention de fichier
index.js .jsx .tsxPage d'accueil
fichier.js .jsx .tsxPage imbriquée

Routes dynamiques

Convention de dossier
[dossier]/index.js .jsx .tsxSegment de route dynamique
[...dossier]/index.js .jsx .tsxSegment de route attrape-tout
[[...dossier]]/index.js .jsx .tsxSegment de route attrape-tout optionnel
Convention de fichier
[fichier].js .jsx .tsxSegment de route dynamique
[...fichier].js .jsx .tsxSegment de route attrape-tout
[[...fichier]].js .jsx .tsxSegment de route attrape-tout optionnel

On this page