Menu

Next.js Projektstruktur

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

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 und die statischen Assets Ihrer Anwendung zu organisieren.

Routensegmente zu Pfadsegmenten
appApp Router
pagesPages Router
publicStatische Assets zum Bereitstellen
srcOptionaler Anwendungsquellordner

Top-Level-Dateien

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

Next.js
next.config.jsKonfigurationsdatei für Next.js
package.jsonProjektabhängigkeiten und Skripte
instrumentation.tsOpenTelemetry und Instrumentierungs-Datei
middleware.tsNext.js-Anfrage-Middleware
.envUmgebungsvariablen
.env.localLokale Umgebungsvariablen
.env.productionProduktions-Umgebungsvariablen
.env.developmentEntwicklungs-Umgebungsvariablen
.eslintrc.jsonKonfigurationsdatei für ESLint
.gitignoreGit-Dateien und -Ordner ignorieren
next-env.d.tsTypeScript-Deklarationsdatei für Next.js
tsconfig.jsonKonfigurationsdatei für TypeScript
jsconfig.jsonKonfigurationsdatei für JavaScript

Routing-Konventionen für app

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

Routing-Dateien

layout.js .jsx .tsxLayout
page.js .jsx .tsxSeite
loading.js .jsx .tsxLadebenutzeroberfläche
not-found.js .jsx .tsxNicht gefunden Benutzeroberfläche
error.js .jsx .tsxFehler-Benutzeroberfläche
global-error.js .jsx .tsxGlobale Fehler-Benutzeroberfläche
route.js .tsAPI-Endpunkt
template.js .jsx .tsxErneut gerenderte Layout
default.js .jsx .tsxParalleler Routen-Fallback

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 zu beeinflussen
_folderOrdner und alle untergeordneten Segmente vom Routing ausschließen

Parallele und abgefangene Routen

@folderBenannter Slot
(.)folderAuf gleicher Ebene abfangen
(..)folderEine Ebene darüber abfangen
(..)(..)folderZwei Ebenen darüber abfangen
(...)folderVon Root abfangen

Metadaten-Dateikonventionen

App-Symbole

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

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

Routing-Konventionen für pages

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 Routing-Segment
[...folder]/index.js .jsx .tsxCatch-All-Routing-Segment
[[...folder]]/index.js .jsx .tsxOptionales Catch-All-Routing-Segment
Dateikonvention
[file].js .jsx .tsxDynamisches Routing-Segment
[...file].js .jsx .tsxCatch-All-Routing-Segment
[[...file]].js .jsx .tsxOptionales Catch-All-Routing-Segment