Benutzerdefinierte Webpack-Konfiguration
Hinweis: Änderungen an der webpack-Konfiguration sind nicht durch Semver abgedeckt, daher gehen Sie auf eigenes Risiko vor
Bevor Sie mit der Hinzufügung einer benutzerdefinierten webpack-Konfiguration zu Ihrer Anwendung fortfahren, stellen Sie sicher, dass Next.js Ihren Anwendungsfall nicht bereits unterstützt:
Einige häufig gewünschte Funktionen sind als Plugins verfügbar:
Um die Verwendung von webpack
zu erweitern, können Sie eine Funktion definieren, die dessen Konfiguration in next.config.js
erweitert, wie folgt:
Die
webpack
-Funktion wird dreimal ausgeführt, zweimal für den Server (nodejs / edge-Laufzeit) und einmal für den Client. Dies ermöglicht es Ihnen, zwischen Client- und Server-Konfiguration mithilfe derisServer
-Eigenschaft zu unterscheiden.
Der zweite Parameter der webpack
-Funktion ist ein Objekt mit den folgenden Eigenschaften:
buildId
:String
- Die Build-ID, verwendet als eindeutiger Bezeichner zwischen Buildsdev
:Boolean
- Zeigt an, ob die Kompilierung in der Entwicklung erfolgtisServer
:Boolean
- Isttrue
für serverseitige Kompilierung undfalse
für clientseitige KompilierungnextRuntime
:String | undefined
- Die Ziel-Laufzeit für serverseitige Kompilierung; entweder"edge"
oder"nodejs"
, für clientseitige Kompilierung ist esundefined
defaultLoaders
:Object
- Standard-Loader, die intern von Next.js verwendet werden:babel
:Object
- Standardmäßigebabel-loader
-Konfiguration
Beispielverwendung von defaultLoaders.babel
:
nextRuntime
Beachten Sie, dass isServer
true
ist, wenn nextRuntime
"edge"
oder "nodejs"
ist. nextRuntime
"edge"
ist derzeit nur für Middleware und Server-Komponenten in der Edge-Laufzeit.