Webpack 4 - Comment configurer minimiser?


114

Webpack 4 est livré avec la déclaration suivante:

webpack.optimize.UglifyJsPlugin a été supprimé, veuillez utiliser config.optimization.minimize à la place.

Assez juste, mais je ne trouve aucune information sur la configuration de l'instance UglifyJsPlugin exécutée sous le capot, par exemple pour changer le répertoire de cache. Cela peut-il être fait?


2
Pour référence, les UglifyJsPluginvaleurs par défaut sont répertoriées ici
davnicwil

Réponses:


95

Il n'est pas possible de modifier la configuration par défaut.

Vous pouvez cependant utiliser le optimization.minimizerparamètre pour instancier le vôtre UglifyJsPlugin. En utilisant la version 4.0, nous avons utilisé cet exemple pour obtenir des cartes source même lorsque modeest défini sur 'production'par exemple (n'est plus nécessaire à partir de la 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
      })
    ]
  }
};

95
Le Webpack 4 n'était-il pas censé être zéro conf?
connexo

3
Cela me oblige à instancier le plugin, je veux juste modifier la configuration existante.
csvan

4
Et gardez à l'esprit que vous devrez peut-être le faire yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
et ici; recherchez "optimisation.minimizer" sur cette page: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez webpack s'installe déjà en uglifyjs-webpack-plugintant que dépendance
Beau

5

Sans ajouter uglifyjs-webpack-plugin, vous pouvez simplement ajouter ceci à la fin de votre fichier webpack.prod.config.js :

 optimization: {
   minimize: false
 }

2

Vous pouvez essayer ceci

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

webpack.config.js

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

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

documentation Webpack




En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.