Webpack 4 - Wie konfiguriere ich minimieren?

114

Webpack 4 enthält die folgende Anweisung:

webpack.optimize.UglifyJsPlugin wurde entfernt. Verwenden Sie stattdessen config.optimization.minimize.

Fair genug, aber ich kann keine Informationen zum Konfigurieren der UglifyJsPlugin-Instanz finden, die unter der Haube ausgeführt wird, um beispielsweise das Cache-Verzeichnis zu ändern. Kann das gemacht werden?

csvan
quelle
2
Als Referenz UglifyJsPluginsind die
Standardeinstellungen

Antworten:

95

Es ist nicht möglich, die Standardkonfiguration zu ändern.

Sie können die optimization.minimizerEinstellung jedoch verwenden, um Ihre eigenen zu instanziieren UglifyJsPlugin. Mit 4.0 haben wir dieses Beispiel Quelle selbst zu bekommen abbildet , wenn modeeingestellt ist 'production'beispielsweise (nicht mehr notwendig , wie von 4.1.1):

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  optimization: {
    minimizer: [
      // we specify a custom UglifyJsPlugin here to get source maps in production
      new UglifyJsPlugin({
        cache: true,
        parallel: true,
        uglifyOptions: {
          compress: false,
          ecma: 6,
          mangle: true
        },
        sourceMap: true
      })
    ]
  }
};
Beau
quelle
95
Sollte Webpack 4 nicht Zero Conf sein?
Connexo
3
Dies erfordert jedoch, dass ich das Plugin instanziiere. Ich möchte nur die vorhandene Konfiguration ändern.
csvan
4
Und denken Sie daran, dass Sie dies möglicherweise tun müssen yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez
2
und hier; Suche nach "Optimierungs- Minimierer
Beau
3
@ AlfonsoPérez Webpack installiert bereits uglifyjs-webpack-pluginals Abhängigkeit
Beau
5

Ohne Hinzufügen uglifyjs-webpack-pluginkönnen Sie dies einfach am Ende Ihrer Datei webpack.prod.config.js hinzufügen :

 optimization: {
   minimize: false
 }
Nafis
quelle
2

Sie können dies versuchen

npm install uglifyjs-webpack-plugin --save-dev

webpack.config.js

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  optimization: {
    minimizer: [new UglifyJsPlugin()],
  },
};

Webpack-Dokumentation

Sarath Ak
quelle
1

Renn einfach:

yarn add uglifyjs-webpack-plugin --dev

Referenz: Antwort von Alfonso Pérez

Rafael Corrêa Gomes
quelle
-4

Sie sollten die pOption aktivieren : https://webpack.js.org/guides/production/#cli-alternatives : Dieses Flag weist Webpack an, Ihren Build für die Produktionsumgebung zu optimieren. Sie können es mit der neuen "Produktion" modefür einen kleineren Build verwenden.

KorHosik
quelle
2
Vielen Dank, aber ich möchte die Standardkonfiguration ändern.
Csvan