next.config.js Optionen

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

next.config.js
/** @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
/**
 * @type {import('next').NextConfig}
 */
const nextConfig = {
  /* Konfigurationsoptionen hier */
}

export default nextConfig

Sie können auch eine Funktion verwenden:

next.config.mjs
module.exports = (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
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:

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.

Allerdings ist keine der Konfigurationen erforderlich, und es ist nicht notwendig zu verstehen, was jede Konfiguration bewirkt. Stattdessen können Sie nach den Funktionen suchen, die Sie aktivieren oder ändern möchten, und dieser Abschnitt zeigt Ihnen, 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:

assetPrefix

Erfahren Sie, wie Sie die Konfigurationsoption assetPrefix 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, die nur mit dem Server-Target funktioniert. Erfahren Sie hier mehr darüber.

devIndicators

Optimierte Seiten enthalten einen Indikator, der anzeigt, ob statische Optimierung erfolgt. Hier können Sie diesen deaktivieren.

distDir

Festlegen eines benutzerdefinierten Build-Verzeichnisses anstelle des Standardverzeichnisses .next.

Umgebungsvariablen (env)

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

ESLint

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

exportPathMap

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

generateBuildId

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

generateEtags

Next.js generiert standardmäßig Etags für jede Seite. Erfahren Sie hier, wie Sie die Etag-Generierung deaktivieren können.

HTTP-Header

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

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

onDemandEntries

Konfigurieren, wie Next.js Seiten im Entwicklungsmodus im Speicher behält oder verwirft.

Output

Next.js verfolgt automatisch, welche Dateien von jeder Seite benötigt werden, um eine einfache Bereitstellung Ihrer Anwendung zu ermöglichen. Erfahren Sie hier, wie es funktioniert.

pageExtensions

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

poweredByHeader

Standardmäßig fügt Next.js 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 dafür entscheiden können

Weiterleitungen (Redirects)

Weiterleitungen zu Ihrer Next.js-Anwendung hinzufügen

Rewrites

Rewrites zu Ihrer Next.js-App hinzufügen

Runtime-Konfiguration

Client- und Server-Runtime-Konfiguration zu Ihrer Next.js-Anwendung hinzufügen.

trailingSlash

Konfigurieren Sie Next.js-Seiten für die Auflösung mit oder ohne nachgestellten 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

TypeScript

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

urlImports

Konfiguration von Next.js für den Import von Modulen von externen URLs (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 Ursache von Web Vitals-Problemen zu identifizieren.