next CLI
Die Next.js CLI ermöglicht es Ihnen, Ihre Anwendung zu entwickeln, zu bauen, zu starten und mehr.
Grundlegende Verwendung:
npm run next [Befehl] [Optionen]
Referenz
Die folgenden Optionen sind verfügbar:
Optionen | Beschreibung |
---|---|
-h oder --help | Zeigt alle verfügbaren Optionen |
-v oder --version | Gibt die Next.js-Versionsnummer aus |
Befehle
Die folgenden Befehle sind verfügbar:
Befehl | Beschreibung |
---|---|
dev | Startet Next.js im Entwicklungsmodus mit Hot Module Reloading, Fehlerberichterstattung und mehr. |
build | Erstellt einen optimierten Produktions-Build Ihrer Anwendung. Zeigt Informationen über jede Route an. |
start | Startet Next.js im Produktionsmodus. Die Anwendung sollte zuerst mit next build kompiliert werden. |
info | Gibt relevante Details über das aktuelle System aus, die zur Meldung von Next.js-Fehlern verwendet werden können. |
lint | Fü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, wenn ESLint nicht bereits in Ihrer Anwendung konfiguriert ist. |
telemetry | Ermöglicht das Aktivieren oder Deaktivieren der vollständig anonymen Telemetrie-Erfassung von Next.js. |
Gut zu wissen: Die Ausführung von
next
ohne Befehl ist ein Alias fürnext 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:
Option | Beschreibung |
---|---|
-h, --help | Zeigt alle verfügbaren Optionen an. |
[Verzeichnis] | Ein Verzeichnis, in dem die Anwendung gebaut werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet. |
--turbo | Startet 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-https | Startet 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> | Sendet einen Teil der Debugging-Trace an eine entfernte HTTP-URL. |
next build
Optionen
next build
erstellt einen optimierten Produktions-Build Ihrer Anwendung. Die Ausgabe zeigt Informationen über jede Route an. Zum Beispiel:
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 Assets, die beim clientseitigen Navigieren zur Seite heruntergeladen werden. Die Größe für jede Route umfasst nur ihre Abhängigkeiten.
- First Load JS: Die Größe der Assets, die beim Besuch der Seite vom Server heruntergeladen werden. 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:
Option | Beschreibung |
---|---|
-h, --help | Zeigt alle verfügbaren Optionen an. |
[Verzeichnis] | Ein Verzeichnis, in dem die Anwendung gebaut werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet. |
-d oder --debug | Aktiviert eine ausführlichere Build-Ausgabe. Mit dieser Flag werden zusätzliche Build-Informationen wie Rewrites, Redirects und Header angezeigt. |
--profile | Aktiviert die Produktions-Profilerstellung für React. |
--no-lint | Deaktiviert das Linting. |
--no-mangling | Deaktiviert Name Mangling. Dies kann die Leistung beeinträchtigen und sollte nur zu Debugging-Zwecken verwendet werden. |
--experimental-app-only | Baut nur App-Router-Routen. |
--experimental-build-mode [Modus] | Verwendet einen experimentellen Build-Modus. (Auswahlmöglichkeiten: "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:
Option | Beschreibung |
---|---|
-h oder --help | Zeigt 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 Anzahl von Millisekunden an, die gewartet werden soll, 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 Betriebssystem-Plattform/Architektur/Version, Binärdateien (Node.js, npm, Yarn, pnpm), Paketversionen (next
, react
, react-dom
) und mehr.
Die Ausgabe sollte wie folgt aussehen:
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:
Option | Beschreibung |
---|---|
-h oder --help | Zeigt alle verfügbaren Optionen an |
--verbose | Sammelt 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, wenn ESLint nicht bereits in Ihrer Anwendung konfiguriert ist.
Die folgenden Optionen sind für den next lint
-Befehl verfügbar:
Option | Beschreibung |
---|---|
[Verzeichnis] | Ein Basisverzeichnis, in dem die Anwendung gelintet werden soll. Wenn nicht angegeben, wird das aktuelle Verzeichnis verwendet. |
-d, --dir, <dirs...> | Fügt Verzeichnis oder Verzeichnisse hinzu, für die ESLint ausgeführt werden soll. |
--file, <files...> | Fügt 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. |
--strict | Erstellt eine .eslintrc.json -Datei mit der Next.js-Strict-Konfiguration. |
--rulesdir, <rulesdir...> | Verwendet zusätzliche Regeln aus diesem Verzeichnis/ diesen Verzeichnissen. |
--fix | Behebt 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. |
--quiet | Meldet nur Fehler. |
--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-config | Verhindert, dass Kommentare die Konfiguration oder Regeln ändern. |
--report-unused-disable-directives-severity <Level> | Gibt den Schweregrad für ungenutzte eslint-disable-Direktiven an. (Auswahlmöglichkeiten: "error", "off", "warn") |
--no-cache | Deaktiviert 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-pattern | Meldet Fehler, wenn Dateimuster nicht übereinstimmen. |
-h, --help | Zeigt 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:
Option | Beschreibung |
---|---|
-h, --help | Zeigt alle verfügbaren Optionen an. |
--enable | Aktiviert die Next.js-Telemetrie-Erfassung. |
--disable | Deaktiviert die Next.js-Telemetrie-Erfassung. |
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:
next dev -p 4000
Oder durch Verwendung der Umgebungsvariable PORT
:
PORT=4000 next dev
Gut zu wissen:
PORT
kann nicht in.env
gesetzt werden, da das Starten des HTTP-Servers erfolgt, bevor anderer Code initialisiert wird.
HTTPS während der Entwicklung verwenden
Für bestimmte Anwendungsfälle wie Webhooks oder Authentifizierung kann es erforderlich sein, HTTPS für eine sichere Umgebung auf localhost
zu verwenden. Next.js kann ein selbstsigniertes Zertifikat mit next dev
und dem Flag --experimental-https
generieren:
next dev --experimental-https
Sie können auch ein benutzerdefiniertes Zertifikat und Schlüssel mit --experimental-https-key
und --experimental-https-cert
bereitstellen. Optional können Sie auch ein benutzerdefiniertes CA-Zertifikat mit --experimental-https-ca
angeben.
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.
Gut zu wissen: Beim Bereitstellen auf Vercel wird HTTPS automatisch konfiguriert für Ihre Next.js-Anwendung.
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 größer sind als die Timeouts des Downstream-Proxys. Andernfalls wird Node.js eine TCP-Verbindung sofort beenden, sobald ein Keep-Alive-Timeout erreicht ist, ohne den Downstream-Proxy zu benachrichtigen. Dies führt zu einem Proxy-Fehler, wenn versucht wird, eine Verbindung wiederzuverwenden, die Node.js bereits beendet hat.
Um die Timeout-Werte für den Produktionsserver von Next.js zu konfigurieren, übergeben Sie --keepAliveTimeout
(in Millisekunden) an next start
, wie folgt:
next start --keepAliveTimeout 70000
Node.js-Argumente übergeben
Sie können beliebige Node-Argumente an next
-Befehle übergeben. Zum Beispiel:
NODE_OPTIONS='--throw-deprecation' next
NODE_OPTIONS='-r esm' next
NODE_OPTIONS='--inspect' next