Webpack 4 - Jak skonfigurować minimalizację?


114

Webpack 4 zawiera następujące oświadczenie:

webpack.optimize.UglifyJsPlugin został usunięty, użyj zamiast tego config.optimization.minimize.

W porządku, ale nie mogę znaleźć żadnych informacji o konfigurowaniu instancji UglifyJsPlugin działającej pod maską, na przykład w celu zmiany katalogu pamięci podręcznej. Czy można to zrobić?


2
Dla porównania, UglifyJsPluginwartości domyślne są wymienione tutaj
davnicwil

Odpowiedzi:


95

Nie można zmienić domyślnej konfiguracji.

Możesz jednak użyć tego optimization.minimizerustawienia, aby utworzyć własną instancję UglifyJsPlugin. Korzystając z 4.0, użyliśmy tego przykładu, aby pobrać mapy źródłowe, nawet jeśli modejest ustawione 'production'na przykład (nie jest już potrzebne od 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
Czy webpack 4 nie miał być zero conf?
connexo

3
Wymaga to jednak utworzenia instancji wtyczki, chcę tylko zmodyfikować istniejącą konfigurację.
csvan

4
I pamiętaj, że być może będziesz musiał to zrobić yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
i tu; wyszukaj „Optimization.minimizer” na tej stronie: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez webpack jest już instalowany uglifyjs-webpack-pluginjako zależność
Beau

5

Bez dodawania uglifyjs-webpack-pluginmożesz po prostu dodać to na końcu pliku webpack.prod.config.js :

 optimization: {
   minimize: false
 }

2

Możesz tego spróbować

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

webpack.config.js

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

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

dokumentacja pakietu internetowego




Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.