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?

csvan
la source
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
      })
    ]
  }
};
Beau
la source
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
 }
Nafis
la source
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

Sarath Ak
la source
1

Exécutez simplement:

yarn add uglifyjs-webpack-plugin --dev

Référence: Réponse d' Alfonso Pérez

Rafael Corrêa Gomes
la source
-4

Vous devriez cocher l' poption: https://webpack.js.org/guides/production/#cli-alternatives : cet indicateur indique à Webpack d'optimiser votre build pour l'environnement de production. Vous pouvez l'utiliser avec la nouvelle "production" modepour une version plus petite.

KorHosik
la source
2
Merci, mais je cherche à modifier la configuration par défaut.
csvan