next.config.js Optionen

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

next.config.js
// @ts-check

/** @type {import('next').NextConfig} */
const nextConfig = {
  /* Konfigurationsoptionen hier */
}

module.exports = nextConfig

next.config.js ist ein reguläres Node.js-Modul, keine JSON-Datei. Es wird von der Next.js-Server- und Build-Phase verwendet und ist nicht im Browser-Build enthalten.

Falls 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

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
}

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 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:

// @ts-check

const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')

module.exports = (phase, { defaultConfig }) => {
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    return {
      /* Nur für die Entwicklung gültige Konfigurationsoptionen hier */
    }
  }

  return {
    /* Konfigurationsoptionen für alle Phasen außer Entwicklung hier */
  }
}

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

Es sind jedoch keine Konfigurationen erforderlich, und es ist nicht notwendig zu verstehen, was jede Konfiguration bewirkt. Suchen Sie stattdessen in diesem Abschnitt 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, Babel oder TypeScript geparst.

Diese Seite dokumentiert alle verfügbaren Konfigurationsoptionen:

appDir

Aktiviert den App-Router für Layouts, Streaming und mehr.

assetPrefix

Erfahren Sie, wie Sie die assetPrefix-Konfigurationsoption zur Einrichtung Ihres CDN verwenden.

basePath

Verwenden Sie `basePath`, um eine Next.js-Anwendung unter einem Unterpfad einer Domain bereitzustellen.

Komprimierung

Next.js bietet Gzip-Komprimierung für gerenderten Inhalt und statische Dateien, was nur mit dem Server-Target funktioniert. Erfahren Sie hier mehr darüber.

crossOrigin

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

devIndicators

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

distDir

Legen Sie ein benutzerdefiniertes Build-Verzeichnis fest, das anstelle des Standardverzeichnisses .next verwendet wird.

env

Erfahren Sie, wie Sie Umgebungsvariablen in Ihrer Next.js-Anwendung zur Build-Zeit hinzufügen und darauf zugreifen.

ESLint

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

exportPathMap

Anpassung der Seiten, die beim Verwenden von `next export` als HTML-Dateien exportiert werden.

generateBuildId

Konfiguration der Build-ID, die zur Identifizierung des aktuellen Builds dient, in dem Ihre Anwendung bereitgestellt wird.

generateEtags

Next.js generiert standardmäßig Etags für jede Seite. Erfahren Sie hier mehr über die Deaktivierung der Etag-Generierung.

headers

Hinzufügen von benutzerdefinierten HTTP-Headern zu Ihrer Next.js-App.

httpAgentOptions

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

Bilder

Benutzerdefinierte Konfiguration für den next/image-Loader

cacheHandler

Konfigurieren Sie den Next.js-Cache für die Speicherung und Revalidierung von Daten, um externe Dienste wie Redis, Memcached oder andere zu verwenden.

instrumentationHook

Mit der Option instrumentationHook können Sie Instrumentation in Ihrer Next.js-App einrichten.

Logging

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

mdxRs

Nutzung des neuen Rust-Compilers zur Kompilierung von MDX-Dateien im App Router.

onDemandEntries

Konfigurieren Sie, wie Next.js in der Entwicklung erstellte Seiten verwaltet und im Speicher behält.

optimizePackageImports

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

Output

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

pageExtensions

Erweitern Sie die standardmäßigen Seiten-Erweiterungen, die Next.js bei der Auflösung von Seiten im Pages Router verwendet.

Partielles Prerendering (experimentell)

Erfahren Sie, wie Sie partielles Prerendering (experimentell) in Next.js 14 aktivieren.

poweredByHeader

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

productionBrowserSourceMaps

Aktiviert die Generierung von Browser-Source-Maps während des Produktions-Builds.

reactStrictMode

Die komplette Next.js-Laufzeitumgebung ist jetzt Strict Mode-konform. Erfahren Sie, wie Sie sich aktiv dafür entscheiden können

Weiterleitungen

Weiterleitungen zu Ihrer Next.js-Anwendung hinzufügen.

rewrites

Rewrites für Ihre Next.js-App hinzufügen.

serverActions

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

serverComponentsExternalPackages

Bestimmte Abhängigkeiten vom Server Components-Bundling ausschließen und native Node.js-`require` verwenden.

StaleTimes (experimental)

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

trailingSlash

Konfiguration von Next.js-Seiten mit oder ohne abschließendem Schrägstrich.

transpilePackages

Automatisches Transpilieren und Bündeln von Abhängigkeiten aus lokalen Paketen (wie Monorepos) oder externen Abhängigkeiten (`node_modules`).

turbo

Konfigurieren Sie Next.js mit Turbopack-spezifischen Optionen

typedRoutes

Experimentelle Unterstützung für statisch typisierte Links aktivieren

TypeScript

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

urlImports

Konfigurieren Sie Next.js, um den Import von Modulen von externen URLs zu ermöglichen (experimentell).

webpack

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

webVitalsAttribution

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