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:

assetPrefix

Erfahren Sie, wie Sie die Konfigurationsoption `assetPrefix` zur Einrichtung Ihrer 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.

crossOrigin

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

devIndicators

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

distDir

Legt ein benutzerdefiniertes Build-Verzeichnis fest, das anstelle des Standardverzeichnisses `.next` verwendet wird.

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

instrumentationHook

Verwenden Sie die Option instrumentationHook, um Instrumentation in Ihrer Next.js-App einzurichten.

onDemandEntries

Konfigurieren Sie, wie Next.js Seiten im Entwicklungsmodus verwaltet und im Speicher behält.

optimizePackageImports

API-Referenz für die Next.js-Konfigurationsoption `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

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

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 aktiv dafür entscheiden können

Weiterleitungen (Redirects)

Weiterleitungen zu Ihrer Next.js-Anwendung hinzufügen

Rewrites

Rewrites zu Ihrer Next.js-Anwendung hinzufügen

Runtime-Konfiguration

Fügen Sie Ihren Next.js-Anwendungen client- und serverseitige Runtime-Konfigurationen hinzu.

trailingSlash

Konfiguration von 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.