Webpack 4 - Come configurare minimizzare?


114

Webpack 4 viene fornito con la seguente dichiarazione:

webpack.optimize.UglifyJsPlugin è stato rimosso, utilizza invece config.optimization.minimize.

Abbastanza giusto, ma non riesco a trovare alcuna informazione sulla configurazione dell'istanza di UglifyJsPlugin in esecuzione sotto il cofano, ad esempio per cambiare la directory della cache. Può essere fatto?


2
Per riferimento, le UglifyJsPluginimpostazioni predefinite sono elencate qui
davnicwil

Risposte:


95

Non è possibile modificare la configurazione predefinita.

Tuttavia, puoi utilizzare l' optimization.minimizerimpostazione per creare un'istanza personale UglifyJsPlugin. Usando 4.0 abbiamo usato questo esempio per ottenere mappe sorgente anche quando modeè impostato ad 'production'esempio (non più necessario a partire dalla 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
Il webpack 4 non doveva essere zero conf?
connexo

3
Tuttavia, questo mi richiede di istanziare il plugin, voglio solo modificare la configurazione esistente.
CSV

4
E tieni presente che potresti doverlo fare yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
e qui; cerca "optimization.minimizer" in questa pagina: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez webpack già installato uglifyjs-webpack-plugincome dipendenza
Beau

5

Senza aggiungere uglifyjs-webpack-plugin, puoi semplicemente aggiungerlo alla fine del tuo file webpack.prod.config.js :

 optimization: {
   minimize: false
 }

2

Puoi provare questo

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

webpack.config.js

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

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

documentazione webpack




Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.