Webpack 4 - Simge durumuna küçültme nasıl yapılandırılır?


114

Webpack 4 aşağıdaki ifadeyle birlikte gelir:

webpack.optimize.UglifyJsPlugin kaldırıldı, bunun yerine lütfen config.optimization.minimize kullanın.

Yeterince adil, ancak başlık altında çalışan UglifyJsPlugin örneğini yapılandırma hakkında herhangi bir bilgi bulamıyorum, örneğin önbellek dizinini değiştirmek için. Bu yapılabilir mi?


2
Referans için, UglifyJsPluginvarsayılanlar burada
davnicwil

Yanıtlar:


95

Varsayılan konfigürasyonu değiştirmek mümkün değildir.

Bununla birlikte optimization.minimizer, kendi örneğinizi oluşturmak için bu ayarı kullanabilirsiniz UglifyJsPlugin. 4.0'ı kullanarak, örneğin olarak modeayarlandığında bile kaynak haritalarını almak için bu örneği kullandık 'production'(4.1.1'den itibaren artık gerekli değildir):

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
Webpack 4'ün sıfır conf olması gerekmiyor muydu?
connexo

3
Bu, eklentiyi başlatmamı gerektiriyor, sadece mevcut yapılandırmayı değiştirmek istiyorum.
csvan

4
Ve yapmanız gerekebileceğini unutmayın yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
ve burada; bu sayfada "optimization.minimizer" araması yapın: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez web paketi uglifyjs-webpack-pluginbir bağımlılık olarak zaten yükleniyor
Beau

5

Eklemeden uglifyjs-webpack-plugin, sadece sonuna bu ekleyebilir webpack.prod.config.js dosyası:

 optimization: {
   minimize: false
 }

2

Bunu deneyebilirsin

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

webpack.config.js

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

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

web paketi belgeleri




Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.