next CLI

Die Next.js CLI ermöglicht es Ihnen, Ihre Anwendung zu entwickeln, zu erstellen, zu starten und mehr.

Grundlegende Verwendung:

Terminal
npx next [Befehl] [Optionen]

Referenz

Die folgenden Optionen sind verfügbar:

OptionenBeschreibung
-h oder --helpZeigt alle verfügbaren Optionen an
-v oder --versionGibt die Next.js-Versionsnummer aus

Befehle

Die folgenden Befehle sind verfügbar:

BefehlBeschreibung
devStartet Next.js im Entwicklungsmodus mit Hot Module Reloading, Fehlerberichterstattung und mehr.
buildErstellt eine optimierte Produktionsversion Ihrer Anwendung. Zeigt Informationen über jede Route an.
startStartet Next.js im Produktionsmodus. Die Anwendung sollte zuerst mit next build kompiliert werden.
infoGibt relevante Details über das aktuelle System aus, die zur Meldung von Next.js-Fehlern verwendet werden können.
lintFührt ESLint für alle Dateien in den Verzeichnissen /src, /app, /pages, /components und /lib aus. Bietet auch eine geführte Einrichtung, um erforderliche Abhängigkeiten zu installieren, falls ESLint nicht bereits in Ihrer Anwendung konfiguriert ist.
telemetryErmöglicht das Aktivieren oder Deaktivieren der vollständig anonymen Telemetrieerfassung von Next.js.

Gut zu wissen: Die Ausführung von next ohne Befehl ist ein Alias für next dev.

next dev Optionen

next dev startet die Anwendung im Entwicklungsmodus mit Hot Module Reloading (HMR), Fehlerberichterstattung und mehr. Die folgenden Optionen sind verfügbar, wenn next dev ausgeführt wird:

OptionBeschreibung
-h, --helpZeigt alle verfügbaren Optionen an.
[Verzeichnis]Ein Verzeichnis, in dem die Anwendung erstellt werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet.
--turbopackStartet den Entwicklungsmodus mit Turbopack.
-p oder --port <Port>Gibt eine Portnummer an, auf der die Anwendung gestartet werden soll. Standard: 3000, env: PORT
-H oder --hostname <Hostname>Gibt einen Hostnamen an, auf dem die Anwendung gestartet werden soll. Nützlich, um die Anwendung für andere Geräte im Netzwerk verfügbar zu machen. Standard: 0.0.0.0
--experimental-httpsStartet den Server mit HTTPS und generiert ein selbstsigniertes Zertifikat.
--experimental-https-key <Pfad>Pfad zu einer HTTPS-Schlüsseldatei.
--experimental-https-cert <Pfad>Pfad zu einer HTTPS-Zertifikatsdatei.
--experimental-https-ca <Pfad>Pfad zu einer HTTPS-Zertifizierungsstellendatei.
--experimental-upload-trace <TraceUrl>Sendet einen Teil der Debugging-Trace an eine entfernte HTTP-URL.

next build Optionen

next build erstellt eine optimierte Produktionsversion Ihrer Anwendung. Die Ausgabe zeigt Informationen über jede Route an. Zum Beispiel:

Terminal
Route (app)                              Größe     First Load JS
 /_not-found                          0 B               0 kB
 ƒ /products/[id]                       0 B               0 kB

  (Statisch)   als statischer Inhalt vorgerendert
ƒ  (Dynamisch)  bei Bedarf serverseitig gerendert
  • Größe: Die Größe der heruntergeladenen Assets beim clientseitigen Navigieren zur Seite. Die Größe für jede Route umfasst nur ihre Abhängigkeiten.
  • First Load JS: Die Größe der heruntergeladenen Assets beim Besuch der Seite vom Server. Die Menge des von allen gemeinsam genutzten JS wird als separate Metrik angezeigt.

Beide Werte sind mit gzip komprimiert. Der First Load wird durch grün, gelb oder rot angezeigt. Streben Sie grün für leistungsfähige Anwendungen an.

Die folgenden Optionen sind für den next build-Befehl verfügbar:

OptionBeschreibung
-h, --helpZeigt alle verfügbaren Optionen an.
[Verzeichnis]Ein Verzeichnis, in dem die Anwendung erstellt werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet.
-d oder --debugAktiviert eine ausführlichere Build-Ausgabe. Mit dieser Flag werden zusätzliche Build-Informationen wie Rewrites, Redirects und Header angezeigt.
--profileAktiviert die Produktions-Profilerstellung für React.
--no-lintDeaktiviert das Linting.
--no-manglingDeaktiviert Name Mangling. Dies kann die Leistung beeinträchtigen und sollte nur zu Debugging-Zwecken verwendet werden.
--experimental-app-onlyErstellt nur App-Router-Routen.
--experimental-build-mode [Modus]Verwendet einen experimentellen Build-Modus. (Auswahl: "compile", "generate", Standard: "default")

next start Optionen

next start startet die Anwendung im Produktionsmodus. Die Anwendung sollte zuerst mit next build kompiliert werden.

Die folgenden Optionen sind für den next start-Befehl verfügbar:

OptionBeschreibung
-h oder --helpZeigt alle verfügbaren Optionen an.
[Verzeichnis]Ein Verzeichnis, in dem die Anwendung gestartet werden soll. Wenn kein Verzeichnis angegeben ist, wird das aktuelle Verzeichnis verwendet.
-p oder --port <Port>Gibt eine Portnummer an, auf der die Anwendung gestartet werden soll. (Standard: 3000, env: PORT)
-H oder --hostname <Hostname>Gibt einen Hostnamen an, auf dem die Anwendung gestartet werden soll (Standard: 0.0.0.0).
--keepAliveTimeout <keepAliveTimeout>Gibt die maximale Wartezeit in Millisekunden an, bevor inaktive Verbindungen geschlossen werden.

next info Optionen

next info gibt relevante Details über das aktuelle System aus, die zur Meldung von Next.js-Fehlern beim Öffnen eines GitHub-Issues verwendet werden können. Diese Informationen umfassen Betriebssystemplattform/Architektur/Version, Binärdateien (Node.js, npm, Yarn, pnpm), Paketversionen (next, react, react-dom) und mehr.

Die Ausgabe sollte wie folgt aussehen:

Terminal
Betriebssystem:
  Plattform: darwin
  Architektur: arm64
  Version: Darwin Kernel Version 23.6.0
  Verfügbarer Speicher (MB): 65536
  Verfügbare CPU-Kerne: 10
Binärdateien:
  Node: 20.12.0
  npm: 10.5.0
  Yarn: 1.22.19
  pnpm: 9.6.0
Relevante Pakete:
  next: 15.0.0-canary.115 // Die neueste verfügbare Version wird erkannt (15.0.0-canary.115).
  eslint-config-next: 14.2.5
  react: 19.0.0-rc
  react-dom: 19.0.0
  typescript: 5.5.4
Next.js Konfiguration:
  output: N/A

Die folgenden Optionen sind für den next info-Befehl verfügbar:

OptionBeschreibung
-h oder --helpZeigt alle verfügbaren Optionen an
--verboseSammelt zusätzliche Informationen für Debugging.

next lint Optionen

next lint führt ESLint für alle Dateien in den Verzeichnissen pages/, app/, components/, lib/ und src/ aus. Bietet auch eine geführte Einrichtung, um erforderliche Abhängigkeiten zu installieren, falls ESLint nicht bereits in Ihrer Anwendung konfiguriert ist.

Die folgenden Optionen sind für den next lint-Befehl verfügbar:

OptionBeschreibung
[Verzeichnis]Ein Basisverzeichnis, in dem die Anwendung gelintet werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet.
-d, --dir, <dirs...>Fügt ein Verzeichnis oder Verzeichnisse hinzu, für die ESLint ausgeführt werden soll.
--file, <files...>Fügt eine Datei oder Dateien hinzu, für die ESLint ausgeführt werden soll.
--ext, [exts...]Gibt JavaScript-Dateierweiterungen an. (Standard: [".js", ".mjs", ".cjs", ".jsx", ".ts", ".mts", ".cts", ".tsx"])
-c, --config, <config>Verwendet diese Konfigurationsdatei und überschreibt alle anderen Konfigurationsoptionen.
--resolve-plugins-relative-to, <rprt>Gibt ein Verzeichnis an, von dem aus Plugins aufgelöst werden sollen.
--strictErstellt eine .eslintrc.json-Datei mit der strikten Next.js-Konfiguration.
--rulesdir, <rulesdir...>Verwendet zusätzliche Regeln aus diesem Verzeichnis/ diesen Verzeichnissen.
--fixBehebt Linting-Probleme automatisch.
--fix-type <fixType>Gibt die Arten von Korrekturen an, die angewendet werden sollen (z.B. problem, suggestion, layout).
--ignore-path <Pfad>Gibt eine Datei an, die ignoriert werden soll.
--no-ignore <Pfad>Deaktiviert die --ignore-path-Option.
--quietZeigt nur Fehler an.
--max-warnings [maxWarnings]Gibt die Anzahl der Warnungen an, bevor ein Exit-Code ungleich Null ausgelöst wird. (Standard: -1)
-o, --output-file, <outputFile>Gibt eine Datei an, in die der Bericht geschrieben werden soll.
-f, --format, <format>Verwendet ein bestimmtes Ausgabeformat.
--no-inline-configVerhindert, dass Kommentare die Konfiguration oder Regeln ändern.
--report-unused-disable-directives-severity <level>Gibt den Schweregrad für ungenutzte eslint-disable-Direktiven an. (Auswahl: "error", "off", "warn")
--no-cacheDeaktiviert das Caching.
--cache-location, <cacheLocation>Gibt einen Speicherort für den Cache an.
--cache-strategy, [cacheStrategy]Gibt eine Strategie für die Erkennung geänderter Dateien im Cache an. (Standard: "metadata")
--error-on-unmatched-patternZeigt Fehler an, wenn Dateimuster nicht übereinstimmen.
-h, --helpZeigt diese Nachricht an.

next telemetry Optionen

Next.js sammelt vollständig anonyme Telemetriedaten über die allgemeine Nutzung. Die Teilnahme an diesem anonymen Programm ist optional, und Sie können sich abmelden, wenn Sie keine Informationen teilen möchten.

Die folgenden Optionen sind für den next telemetry-Befehl verfügbar:

OptionBeschreibung
-h, --helpZeigt alle verfügbaren Optionen an.
--enableAktiviert die Next.js-Telemetrieerfassung.
--disableDeaktiviert die Next.js-Telemetrieerfassung.

Erfahren Sie mehr über Telemetrie.

Beispiele

Standardport ändern

Standardmäßig verwendet Next.js http://localhost:3000 während der Entwicklung und mit next start. Der Standardport kann mit der Option -p geändert werden, wie folgt:

Terminal
next dev -p 4000

Oder über die Umgebungsvariable PORT:

Terminal
PORT=4000 next dev

Gut zu wissen: PORT kann nicht in .env gesetzt werden, da der HTTP-Server startet, bevor anderer Code initialisiert wird.

HTTPS während der Entwicklung verwenden

Für bestimmte Anwendungsfälle wie Webhooks oder Authentifizierung können Sie HTTPS nutzen, um eine sichere Umgebung auf localhost zu haben. Next.js kann mit next dev und dem Flag --experimental-https ein selbstsigniertes Zertifikat generieren:

Terminal
next dev --experimental-https

Mit dem generierten Zertifikat läuft der Next.js-Entwicklungsserver unter https://localhost:3000. Der Standardport 3000 wird verwendet, sofern kein Port mit -p, --port oder PORT angegeben wird.

Sie können auch ein benutzerdefiniertes Zertifikat und Schlüssel mit --experimental-https-key und --experimental-https-cert bereitstellen. Optional können Sie zusätzlich ein benutzerdefiniertes CA-Zertifikat mit --experimental-https-ca angeben.

Terminal
next dev --experimental-https --experimental-https-key ./certificates/localhost-key.pem --experimental-https-cert ./certificates/localhost.pem

next dev --experimental-https ist nur für die Entwicklung gedacht und erstellt ein lokal vertrauenswürdiges Zertifikat mit mkcert. In der Produktion sollten Sie ordnungsgemäß ausgestellte Zertifikate von vertrauenswürdigen Stellen verwenden.

Timeout für Downstream-Proxys konfigurieren

Wenn Next.js hinter einem Downstream-Proxy (z.B. einem Load-Balancer wie AWS ELB/ALB) bereitgestellt wird, ist es wichtig, den zugrunde liegenden HTTP-Server von Next mit Keep-Alive-Timeouts zu konfigurieren, die länger sind als die Timeouts des Downstream-Proxys. Andernfalls wird Node.js eine TCP-Verbindung sofort beenden, sobald das Keep-Alive-Timeout erreicht ist, ohne den Downstream-Proxy zu benachrichtigen. Dies führt zu einem Proxy-Fehler, wenn versucht wird, eine bereits von Node.js beendete Verbindung wiederzuverwenden.

Um die Timeout-Werte für den Next.js-Produktionsserver zu konfigurieren, übergeben Sie --keepAliveTimeout (in Millisekunden) an next start, wie folgt:

Terminal
next start --keepAliveTimeout 70000

Node.js-Argumente übergeben

Sie können beliebige Node-Argumente an next-Befehle übergeben. Zum Beispiel:

Terminal
NODE_OPTIONS='--throw-deprecation' next
NODE_OPTIONS='-r esm' next
NODE_OPTIONS='--inspect' next

On this page