Projektstruktur und Organisation

Diese Seite bietet einen Überblick über alle Ordner- und Dateikonventionen in Next.js sowie Empfehlungen zur Organisation Ihres Projekts.

Ordner- und Dateikonventionen

Top-Level-Ordner

Top-Level-Ordner werden verwendet, um den Code Ihrer Anwendung und statische Assets zu organisieren.

Route-Segmente zu Pfadsegmenten
appApp-Router
pagesPages-Router
publicStatische Assets, die bereitgestellt werden sollen
srcOptionaler Quellordner der Anwendung

Top-Level-Dateien

Top-Level-Dateien werden verwendet, um Ihre Anwendung zu konfigurieren, Abhängigkeiten zu verwalten, Middleware auszuführen, Monitoring-Tools zu integrieren und Umgebungsvariablen zu definieren.

Next.js
next.config.jsKonfigurationsdatei für Next.js
package.jsonProjektabhängigkeiten und Skripte
instrumentation.tsOpenTelemetry- und Instrumentationsdatei
middleware.tsNext.js-Request-Middleware
.envUmgebungsvariablen
.env.localLokale Umgebungsvariablen
.env.productionProduktionsumgebungsvariablen
.env.developmentEntwicklungsumgebungsvariablen
.eslintrc.jsonKonfigurationsdatei für ESLint
.gitignoreGit-Dateien und -Ordner, die ignoriert werden sollen
next-env.d.tsTypeScript-Deklarationsdatei für Next.js
tsconfig.jsonKonfigurationsdatei für TypeScript
jsconfig.jsonKonfigurationsdatei für JavaScript

Dateikonventionen

_app.js .jsx .tsxBenutzerdefinierte App
_document.js .jsx .tsxBenutzerdefiniertes Dokument
_error.js .jsx .tsxBenutzerdefinierte Fehlerseite
404.js .jsx .tsx404-Fehlerseite
500.js .jsx .tsx500-Fehlerseite

Routen

Ordnerkonvention
index.js .jsx .tsxStartseite
folder/index.js .jsx .tsxVerschachtelte Seite
Dateikonvention
index.js .jsx .tsxStartseite
file.js .jsx .tsxVerschachtelte Seite

Dynamische Routen

Ordnerkonvention
[folder]/index.js .jsx .tsxDynamisches Routensegment
[...folder]/index.js .jsx .tsxCatch-all-Routensegment
[[...folder]]/index.js .jsx .tsxOptionales Catch-all-Routensegment
Dateikonvention
[file].js .jsx .tsxDynamisches Routensegment
[...file].js .jsx .tsxCatch-all-Routensegment
[[...file]].js .jsx .tsxOptionales Catch-all-Routensegment

On this page