Webpack 4 - ¿Cómo configurar minimizar?


114

Webpack 4 viene con la siguiente declaración:

webpack.optimize.UglifyJsPlugin se ha eliminado, utilice config.optimization.minimize en su lugar.

Es bastante justo, pero no puedo encontrar ninguna información sobre cómo configurar la instancia de UglifyJsPlugin que se ejecuta bajo el capó, por ejemplo, para cambiar el directorio de caché. Se puede hacer esto?


2
Como referencia, los UglifyJsPluginvalores predeterminados se enumeran aquí
davnicwil

Respuestas:


95

No es posible modificar la configuración predeterminada.

Sin embargo, puede usar la optimization.minimizerconfiguración para crear una instancia propia UglifyJsPlugin. Usando 4.0 usamos este ejemplo para obtener mapas de origen incluso cuando modeestá configurado, 'production'por ejemplo, (ya no es necesario a partir de 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
¿No se suponía que el paquete web 4 era conf cero?
connexo

3
Sin embargo, esto requiere que cree una instancia del complemento, solo quiero modificar la configuración existente.
csvan

4
Y tenga en cuenta que es posible que deba hacerlo yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
y aquí; busque "optimization.minimizer" en esta página: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez webpack ya se instala uglifyjs-webpack-plugincomo una dependencia
Beau

5

Sin agregar uglifyjs-webpack-plugin, puede agregar esto al final de su archivo webpack.prod.config.js :

 optimization: {
   minimize: false
 }

2

Puedes probar esto

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

webpack.config.js

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

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

documentación del paquete web




Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.