Menu

next.config.js Optionen

Next.js kann über eine next.config.js-Datei im Stammverzeichnis Ihres Projekts (zum Beispiel neben package.json) mit einem Standardexport konfiguriert werden.

next.config.js
// @ts-check
 
/** @type {import('next').NextConfig} */
const nextConfig = {
  /* Konfigurationsoptionen hier */
}
 
module.exports = nextConfig

ECMAScript-Module

next.config.js ist ein reguläres Node.js-Modul und keine JSON-Datei. Es wird vom Next.js-Server und den Build-Phasen verwendet und nicht in den Browser-Build einbezogen.

Wenn Sie ECMAScript-Module benötigen, können Sie next.config.mjs verwenden:

next.config.mjs
// @ts-check
 
/**
 * @type {import('next').NextConfig}
 */
const nextConfig = {
  /* Konfigurationsoptionen hier */
}
 
export default nextConfig

Hinweis: next.config mit den Erweiterungen .cjs, .cts oder .mts werden derzeit nicht unterstützt.

Konfiguration als Funktion

Sie können auch eine Funktion verwenden:

next.config.mjs
// @ts-check
 
export default (phase, { defaultConfig }) => {
  /**
   * @type {import('next').NextConfig}
   */
  const nextConfig = {
    /* Konfigurationsoptionen hier */
  }
  return nextConfig
}

Asynchrone Konfiguration

Seit Next.js 12.1.0 können Sie eine asynchrone Funktion verwenden:

next.config.js
// @ts-check
 
module.exports = async (phase, { defaultConfig }) => {
  /**
   * @type {import('next').NextConfig}
   */
  const nextConfig = {
    /* Konfigurationsoptionen hier */
  }
  return nextConfig
}

Phase

phase ist der aktuelle Kontext, in dem die Konfiguration geladen wird. Sie können die verfügbaren Phasen einsehen. Phasen können aus next/constants importiert werden:

next.config.js
// @ts-check
 
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')
 
module.exports = (phase, { defaultConfig }) => {
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    return {
      /* Konfigurationsoptionen nur für Entwicklung hier */
    }
  }
 
  return {
    /* Konfigurationsoptionen für alle Phasen außer Entwicklung hier */
  }
}

TypeScript

Diese Funktion ist ab der Canary-Version von Next.js verfügbar.

Wenn Sie TypeScript in Ihrem Projekt verwenden, können Sie next.config.ts nutzen, um TypeScript in Ihrer Konfiguration zu verwenden:

next.config.ts
import type { NextConfig } from 'next'
 
const nextConfig: NextConfig = {
  /* Konfigurationsoptionen hier */
}
 
export default nextConfig

Die auskommentierten Zeilen sind der Platz, an dem Sie die in next.config.js erlaubten Konfigurationen einfügen können, die in dieser Datei definiert sind.

Allerdings sind keine Konfigurationen erforderlich, und es ist nicht notwendig, zu verstehen, was jede Konfiguration bewirkt. Suchen Sie stattdessen nach den Funktionen, die Sie aktivieren oder ändern möchten, und sie werden Ihnen zeigen, was zu tun ist.

Vermeiden Sie die Verwendung neuer JavaScript-Funktionen, die in Ihrer Ziel-Node.js-Version nicht verfügbar sind. next.config.js wird nicht von Webpack oder Babel geparst.

Diese Seite dokumentiert alle verfügbaren Konfigurationsoptionen:

appDir

Aktivieren des App Routers für Layouts, Streaming und mehr.

assetPrefix

Erfahren Sie, wie Sie die assetPrefix-Konfigurationsoption verwenden können, um Ihr CDN zu konfigurieren.

basePath

Verwenden Sie `basePath`, um eine Next.js-Anwendung unter einem Unter-Pfad einer Domain zu deployen.

cacheLife

Erfahren Sie, wie Sie cacheLife-Konfigurationen in Next.js einrichten.

Kompression

Next.js bietet gzip-Kompression zur Kompression von gerenderten Inhalten und statischen Dateien, was nur mit dem Server-Ziel funktioniert. Erfahren Sie hier mehr darüber.

crossOrigin

Verwenden Sie die Option `crossOrigin`, um ein crossOrigin-Tag in den von `next/script` generierten `script`-Tags hinzuzufügen.

CSS-Aufteilung

Verwenden Sie die `cssChunking`-Option, um zu steuern, wie CSS-Dateien in Ihrer Next.js-Anwendung aufgeteilt werden.

devIndicators

Optimierte Seiten enthalten einen Indikator, der anzeigt, ob sie statisch optimiert werden. Hier können Sie dies abschalten.

distDir

Legen Sie ein benutzerdefiniertes Build-Verzeichnis fest, anstelle des Standard-.next-Verzeichnisses.

dynamicIO

Erfahren Sie, wie Sie das dynamicIO-Flag in Next.js aktivieren.

env

Lernen Sie, Umgebungsvariablen in Ihrer Next.js-Anwendung zur Buildzeit hinzuzufügen und darauf zuzugreifen.

eslint

Next.js meldet ESLint-Fehler und -Warnungen standardmäßig während des Builds. Hier erfahren Sie, wie Sie dieses Verhalten deaktivieren können.

expireTime

Passen Sie die stale-while-revalidate Ablaufzeit für ISR-aktivierte Seiten an.

exportPathMap (Veraltet)

Passen Sie die Seiten an, die als HTML-Dateien exportiert werden, wenn `next export` verwendet wird.

generateBuildId

Konfigurieren Sie die Build-ID, die verwendet wird, um den aktuellen Build zu identifizieren, in dem Ihre Anwendung bereitgestellt wird.

generateEtags

Next.js generiert standardmäßig ETags für jede Seite. Erfahren Sie hier mehr darüber, wie Sie die ETag-Generierung deaktivieren können.

Header

Fügen Sie Ihrer Next.js-App benutzerdefinierte HTTP-Header hinzu.

httpAgentOptions

Next.js verwendet HTTP Keep-Alive standardmäßig automatisch. Erfahren Sie hier mehr darüber, wie Sie HTTP Keep-Alive deaktivieren können.

Bilder

Benutzerdefinierte Konfiguration für den next/image-Loader

Benutzerdefinierter Next.js Cache-Handler

Konfigurieren Sie den von Next.js verwendeten Cache zum Speichern und Revalidieren von Daten mit einem externen Dienst wie Redis, Memcached oder anderen.

Logging

Konfigurieren Sie, wie Datenabrufe in der Konsole protokolliert werden, wenn Next.js im Entwicklungsmodus ausgeführt wird.

mdxRs

Verwenden Sie den neuen Rust-Compiler zum Kompilieren von MDX-Dateien im App Router.

onDemandEntries

Konfigurieren Sie, wie Next.js Seiten im Entwicklungsmodus speichert und entfernt.

optimizePackageImports

API-Referenz für die Next.js-Konfigurationsoption optimizePackageImports

Ausgabe

Next.js verfolgt automatisch, welche Dateien für jede Seite benötigt werden, um die einfache Bereitstellung Ihrer Anwendung zu ermöglichen. Erfahren Sie hier, wie es funktioniert.

pageExtensions

Erweitern Sie die Standard-Seitenendungen, die von Next.js beim Auflösen von Seiten im Pages Router verwendet werden.

poweredByHeader

Next.js fügt standardmäßig den `x-powered-by`-Header hinzu. Hier erfahren Sie, wie Sie sich dagegen entscheiden können.

ppr

Erfahren Sie, wie Sie Partial Prerendering in Next.js aktivieren.

productionBrowserSourceMaps

Aktiviert die Browser-Sourcemap-Generierung während des Produktions-Builds.

reactCompiler

Aktivieren Sie den React Compiler zur automatischen Optimierung des Komponentenrenderings.

reactMaxHeadersLength

Die maximale Länge der Header, die von React ausgegeben und zur Antwort hinzugefügt werden.

reactStrictMode

Die komplette Next.js-Laufzeitumgebung ist jetzt Strict Mode-kompatibel, erfahren Sie, wie Sie dies aktivieren können

Weiterleitungen

Fügen Sie Weiterleitungen zu Ihrer Next.js-App hinzu.

rewrites

Füge deiner Next.js-App Rewrites hinzu.

sassOptions

Konfigurieren von Sass-Optionen.

Server Actions

Konfigurieren Sie das Verhalten von Server Actions in Ihrer Next.js-Anwendung.

serverComponentsHmrCache

Konfigurieren Sie, ob fetch-Antworten in Server-Komponenten über HMR-Aktualisierungsanfragen hinweg zwischengespeichert werden.

serverExternalPackages

Bestimmte Abhängigkeiten von der Bundling für Server-Komponenten ausschließen und natives Node.js `require` verwenden.

staleTimes

Erfahren Sie, wie Sie die Invalidierungszeit des Client-Router-Caches überschreiben können.

staticGeneration*

Erfahren Sie, wie Sie die statische Generierung in Ihrer Next.js-Anwendung konfigurieren.

Trailing Slash

Konfigurieren Sie Next.js-Seiten, um mit oder ohne abschließenden Schrägstrich aufgelöst zu werden.

transpilePackages

Automatische Transpilierung und Bundling von Abhängigkeiten aus lokalen Paketen (wie Monorepos) oder externen Abhängigkeiten (`node_modules`).

turbo

Konfigurieren von Next.js mit Turbopack-spezifischen Optionen

typedRoutes

Experimentelle Unterstützung für statisch typisierte Links.

typescript

Next.js meldet standardmäßig TypeScript-Fehler. Hier erfahren Sie, wie Sie dieses Verhalten deaktivieren können.

URL-Importe

Konfigurieren Sie Next.js, um das Importieren von Modulen von externen URLs zu ermöglichen.

useLightningcss

Experimentelle Unterstützung für Lightning CSS aktivieren.

webVitalsAttribution

Erfahren Sie, wie Sie die Option webVitalsAttribution verwenden können, um die Quelle von Web Vitals-Problemen zu identifizieren.

Benutzerdefinierte Webpack-Konfiguration

Erfahren Sie, wie Sie die von Next.js verwendete webpack-Konfiguration anpassen können