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:

assetPrefix

Erfahre, wie du die assetPrefix-Konfigurationsoption zur Konfiguration deines CDN verwendest.

basePath

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

bundlePagesRouterDependencies

Automatisches Bundling von Abhängigkeiten für Pages Router aktivieren

komprimieren

Next.js bietet gzip-Komprimierung zur Komprimierung 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` und `next/head` generierten `script`-Tags hinzuzufügen.

devIndicators

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

distDir

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

env

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

ESLint

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

exportPathMap

Passen Sie die Seiten an, die bei Verwendung von `next export` als HTML-Dateien exportiert werden.

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. Hier erfahren Sie mehr darüber, wie Sie die ETag-Generierung deaktivieren können.

Header

Fügen Sie Ihrer Next.js-Anwendung 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

onDemandEntries

Konfigurieren Sie, wie Next.js während der Entwicklung Seiten im Speicher behält und entfernt.

optimizePackageImports

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

Ausgabe

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 dies funktioniert.

Seitenerweiterungen

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

poweredByHeader

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

produktionBrowserSourceMaps

Ermöglicht die Browser-Source-Map-Generierung während des Produktions-Builds.

reactStrictMode

Die vollständige Next.js-Runtime ist jetzt Strict Mode-konform, erfahren Sie, wie Sie dies aktivieren können

Weiterleitungen

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

Rewrites

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

Laufzeitkonfiguration

Fügen Sie Ihrer Next.js-App Client- und Server-Laufzeitkonfiguration hinzu.

serverExternalPackages

Opt-out bestimmter Abhängigkeiten aus dem durch `bundlePagesRouterDependencies` aktivierten Abhängigkeits-Bundling.

Abschließender Schrägstrich

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

transpilePackages

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

turbo

Next.js mit Turbopack-spezifischen Optionen konfigurieren

TypeScript

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

urlImports

Next.js so konfigurieren, dass Module von externen URLs importiert werden können.

useLightningcss

Experimentelle Unterstützung für Lightning CSS aktivieren.

webVitalsAttribution

Lernen Sie, wie Sie die Option webVitalsAttribution nutzen 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