Next.js Projektstruktur

Diese Seite bietet einen Überblick über die Projektstruktur einer Next.js-Anwendung. Sie behandelt die wichtigsten Dateien und Ordner, Konfigurationsdateien sowie Routing-Konventionen innerhalb der Verzeichnisse app und pages.

Klicken Sie auf die Datei- und Ordnernamen, um mehr über jede Konvention zu erfahren.

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 für den Auslieferung
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.productionProduktions-Umgebungsvariablen
.env.developmentEntwicklungs-Umgebungsvariablen
.eslintrc.jsonKonfigurationsdatei für ESLint
.gitignoreZu ignorierende Git-Dateien und Ordner
next-env.d.tsTypeScript-Deklarationsdatei für Next.js
tsconfig.jsonKonfigurationsdatei für TypeScript
jsconfig.jsonKonfigurationsdatei für JavaScript

app Routing-Konventionen

Die folgenden Dateikonventionen werden verwendet, um Routen zu definieren und Metadaten im app-Router zu verwalten.

Routing-Dateien

layout.js .jsx .tsxLayout
page.js .jsx .tsxSeite
loading.js .jsx .tsxLade-UI
not-found.js .jsx .tsxNicht-gefunden-UI
error.js .jsx .tsxFehler-UI
global-error.js .jsx .tsxGlobale Fehler-UI
route.js .tsAPI-Endpunkt
template.js .jsx .tsxNeu gerendertes Layout
default.js .jsx .tsxFallback-Seite für parallele Routen

Verschachtelte Routen

folderRoutensegment
folder/folderVerschachteltes Routensegment

Dynamische Routen

[folder]Dynamisches Routensegment
[...folder]Catch-all-Routensegment
[[...folder]]Optionales Catch-all-Routensegment

Routengruppen und private Ordner

(folder)Routen gruppieren ohne Routing-Einfluss
_folderOrdner und Kindsegmente aus dem Routing ausschließen

Parallele und abgefangene Routen

@folderBenannter Slot
(.)folderAuf gleicher Ebene abfangen
(..)folderEine Ebene höher abfangen
(..)(..)folderZwei Ebenen höher abfangen
(...)folderVon der Wurzel abfangen

Metadaten-Dateikonventionen

App-Icons

favicon.icoFavicon-Datei
icon.ico .jpg .jpeg .png .svgApp-Icon-Datei
icon.js .ts .tsxGeneriertes App-Icon
apple-icon.jpg .jpeg, .pngApple-App-Icon-Datei
apple-icon.js .ts .tsxGeneriertes Apple-App-Icon

Open Graph und Twitter-Bilder

opengraph-image.jpg .jpeg .png .gifOpen-Graph-Bilddatei
opengraph-image.js .ts .tsxGeneriertes Open-Graph-Bild
twitter-image.jpg .jpeg .png .gifTwitter-Bilddatei
twitter-image.js .ts .tsxGeneriertes Twitter-Bild

SEO

sitemap.xmlSitemap-Datei
sitemap.js .tsGenerierte Sitemap
robots.txtRobots-Datei
robots.js .tsGenerierte Robots-Datei

pages Routing-Konventionen

Die folgenden Dateikonventionen werden verwendet, um Routen im pages-Router zu definieren.

Spezielle Dateien

_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