Benutzerdefinierte Webpack-Konfiguration
Wichtig: Änderungen an der Webpack-Konfiguration sind nicht durch semver abgedeckt, daher auf eigenes Risiko
Bevor Sie mit der Anpassung der Webpack-Konfiguration für Ihre Anwendung fortfahren, vergewissern Sie sich, dass Next.js Ihren Anwendungsfall nicht bereits unterstützt:
Einige häufig nachgefragte Funktionen sind als Plugins verfügbar:
Um die Verwendung von webpack
zu erweitern, können Sie in der next.config.js
eine Funktion definieren, die die Konfiguration erweitert, wie folgt:
Die
webpack
-Funktion wird dreimal ausgeführt, zweimal für den Server (Node.js / Edge-Runtime) und einmal für den Client. Dadurch können Sie mit der EigenschaftisServer
zwischen Client- und Serverkonfiguration unterscheiden.
Das zweite Argument der webpack
-Funktion ist ein Objekt mit folgenden Eigenschaften:
buildId
:String
- Die Build-ID, die als eindeutiger Identifier zwischen Builds dient.dev
:Boolean
- Gibt an, ob die Kompilierung im Entwicklungsmodus erfolgt.isServer
:Boolean
- Isttrue
für die Server-seitige Kompilierung undfalse
für die Client-seitige Kompilierung.nextRuntime
:String | undefined
- Die Ziel-Runtime für die Server-seitige Kompilierung; entweder"edge"
oder"nodejs"
, für die Client-seitige Kompilierung ist esundefined
.defaultLoaders
:Object
- Standard-Loader, die intern von Next.js verwendet werden:babel
:Object
- Standardbabel-loader
Konfiguration.
Beispiel für die Verwendung von defaultLoaders.babel
:
nextRuntime
Beachten Sie, dass isServer
true
ist, wenn nextRuntime
"edge"
oder "nodejs"
ist. Derzeit wird nextRuntime
"edge"
nur für Middleware und Server-Komponenten in der Edge-Runtime verwendet.