Menu

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

Folgende Optionen sind verfügbar:

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

Befehle

Folgende Befehle sind verfügbar:

BefehlBeschreibung
devStartet Next.js im Entwicklungsmodus mit Hot Module Reloading, Fehlerberichterstattung und mehr.
buildErstellt einen optimierten Produktions-Build Ihrer Anwendung. Zeigt Informationen über jeden Route an.
startStartet Next.js im Produktionsmodus. Die Anwendung sollte zunächst mit next build kompiliert werden.
infoDruckt relevante Details über das aktuelle System, 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 zum Installieren erforderlicher Abhängigkeiten, falls ESLint noch nicht konfiguriert ist.
telemetryErmöglicht das Aktivieren oder Deaktivieren der vollständig anonymen Telemetrie-Sammlung von Next.js.

Hinweis: 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. Folgende Optionen sind bei der Ausführung von next dev verfügbar:

OptionBeschreibung
-h, --helpAlle verfügbaren Optionen anzeigen.
[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, Umgebungsvariable: PORT
-Hoder --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-Zertifizierungsstellen-Datei.
--experimental-upload-trace <TraceUrl>Meldet einen Subset der Debugging-Spur an eine Remote-HTTP-URL.

next build Optionen

next build erstellt einen optimierten Produktions-Build Ihrer Anwendung. Die Ausgabe zeigt Informationen über jeden Route. Zum Beispiel:

Terminal
Route (app)                              Größe    First Load JS
 /_not-found                          0 B               0 kB
 ƒ /products/[id]                       0 B               0 kB
 
  (Statisch)   Vorgerendert als statischer Inhalt
ƒ  (Dynamisch)  Serverseitig auf Anfrage gerendert
  • Größe: Die Größe der Assets, die beim clientseitigen Navigieren zur Seite heruntergeladen werden. Die Größe für jeden Route umfasst nur seine Abhängigkeiten.
  • First Load JS: Die Größe der Assets, die beim Besuch der Seite vom Server heruntergeladen werden. Die Menge an JS, die von allen geteilt wird, 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 leistungsstarke Anwendungen an.

Folgende Optionen sind für den Befehl next build verfügbar:

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

next start-Optionen

next start startet die Anwendung im Produktionsmodus. Die Anwendung sollte zuvor mit next build kompiliert worden sein.

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

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

next info-Optionen

next info druckt relevante Details über das aktuelle System, die bei der Meldung von Next.js-Fehlern in einem GitHub-Issue verwendet werden können. Diese Informationen umfassen Betriebssystem-Plattform/Architektur/Version, Binärdateien (Node.js, npm, Yarn, pnpm), Paketversionen (next, react, react-dom) und mehr.

Die Ausgabe sollte wie folgt aussehen:

Terminal
Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 23.6.0
  Available memory (MB): 65536
  Available CPU cores: 10
Binaries:
  Node: 20.12.0
  npm: 10.5.0
  Yarn: 1.22.19
  pnpm: 9.6.0
Relevant Packages:
  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 Config:
  output: N/A

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

OptionBeschreibung
-h oder --helpAlle verfügbaren Optionen anzeigen
--verboseSammelt zusätzliche Informationen für das Debugging.

next lint-Optionen

next lint führt ESLint für alle Dateien in den Verzeichnissen pages/, app/, components/, lib/ und src/ aus. Es bietet auch eine geführte Einrichtung zur Installation erforderlicher Abhängigkeiten, falls ESLint in der Anwendung noch nicht konfiguriert ist.

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

OptionBeschreibung
[Verzeichnis]Ein Basisverzeichnis, in dem die Anwendung geprüft werden soll. Wird kein Verzeichnis angegeben, wird das aktuelle Verzeichnis verwendet.
-d, --dir, <Verzeichnisse...>Einzuschließende Verzeichnisse für ESLint.
--file, <Dateien...>Einzuschließende Dateien für ESLint.
--ext, [Erweiterungen...]Gibt JavaScript-Dateiendungen an. (Standard: [".js", ".mjs", ".cjs", ".jsx", ".ts", ".mts", ".cts", ".tsx"])
-c, --config, <Konfiguration>Verwendet diese Konfigurationsdatei und überschreibt alle anderen Konfigurationsoptionen.
--resolve-plugins-relative-to, <rprt>Gibt ein Verzeichnis an, von dem Plugins aufgelöst werden sollen.
--strictErstellt eine .eslintrc.json-Datei mit der Next.js-Strict-Konfiguration.
--rulesdir, <Regelverzeichnis...>Verwendet zusätzliche Regeln aus diesem/diesen Verzeichnis(sen).
--fixBehebt Linting-Probleme automatisch.
--fix-type <Fixtyp>Gibt die Typen von Korrekturen an (z.B. problem, suggestion, layout).
--ignore-path <Pfad>Gibt eine Datei an, die ignoriert werden soll.
--no-ignore <Pfad>Deaktiviert die --ignore-path-Option.
--quietMeldet nur Fehler.
--max-warnings [Maximalwarnungen]Gibt die Anzahl der Warnungen an, bevor ein Nicht-Null-Exitcode ausgelöst wird. (Standard: -1)
-o, --output-file, <Ausgabedatei>Gibt eine Datei an, in die der Bericht geschrieben wird.
-f, --format, <Format>Verwendet ein spezifisches Ausgabeformat.
--no-inline-configVerhindert, dass Kommentare Konfigurationen oder Regeln ändern.
--report-unused-disable-directives-severity <Stufe>Gibt die Schweregrade für ungenutzte eslint-disable-Direktiven an. (Optionen: "error", "off", "warn")
--no-cacheDeaktiviert Caching.
--cache-location, <Cachestandort>Gibt einen Speicherort für den Cache an.
--cache-strategy, [Cachestrategie]Gibt eine Strategie zur Erkennung geänderter Dateien im Cache an. (Standard: "metadata")
--error-on-unmatched-patternMeldet Fehler, 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, --helpAlle verfügbaren Optionen anzeigen.
--enableAktiviert die Next.js-Telemetrie-Sammlung.
--disableDeaktiviert die Next.js-Telemetrie-Sammlung.

Erfahren Sie mehr über Telemetrie.

Beispiele

Ändern des Standard-Ports

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

Terminal
next dev -p 4000

Oder mit der PORT-Umgebungsvariable:

Terminal
PORT=4000 next dev

Hinweis: PORT kann nicht in .env gesetzt werden, da der HTTP-Server gestartet wird, bevor anderer Code initialisiert wird.

HTTPS während der Entwicklung verwenden

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

Terminal
next dev --experimental-https

Mit dem generierten Zertifikat wird der Next.js-Entwicklungsserver unter https://localhost:3000 existieren. Der Standard-Port 3000 wird verwendet, es sei denn, ein Port wird mit -p, --port oder PORT angegeben.

Sie können auch ein benutzerdefiniertes Zertifikat und einen Schlüssel mit --experimental-https-key und --experimental-https-cert bereitstellen. Optional können Sie ein benutzerdefiniertes CA-Zertifikat mit --experimental-https-ca hinzufügen.

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 ordnungsgemäß ausgestellte Zertifikate von vertrauenswürdigen Stellen verwendet werden.

Hinweis: Bei der Bereitstellung auf Vercel wird HTTPS automatisch konfiguriert für Ihre Next.js-Anwendung.

Konfigurieren eines Timeouts für Downstream-Proxys

Bei der Bereitstellung von Next.js hinter einem Downstream-Proxy (z.B. einem Load-Balancer wie AWS ELB/ALB) ist es wichtig, den zugrunde liegenden HTTP-Server von Next mit Keep-Alive-Timeouts zu konfigurieren, die größer sind als die Timeouts des Downstream-Proxys. Andernfalls wird Node.js eine TCP-Verbindung, sobald ein Keep-Alive-Timeout erreicht ist, sofort beenden, ohne den Downstream-Proxy zu benachrichtigen. Dies führt zu einem Proxy-Fehler, wenn dieser versucht, eine Verbindung wiederzuverwenden, die Node.js bereits beendet hat.

Um die Timeout-Werte für den produktiven Next.js-Server 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