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ć?

csvan
źródło
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
      })
    ]
  }
};
Amant
źródło
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
 }
Nafis
źródło
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

Sarath Ak
źródło
1

Po prostu biegnij:

yarn add uglifyjs-webpack-plugin --dev

Odniesienie: odpowiedź Alfonso Péreza

Rafael Corrêa Gomes
źródło
-4

Powinieneś zaznaczyć popcję: https://webpack.js.org/guides/production/#cli-alternatives : ta flaga mówi Webpackowi, aby zoptymalizował twoją kompilację dla środowiska produkcyjnego. Możesz go używać z nową „produkcją” modena mniejszą kompilację.

KorHosik
źródło
2
Dzięki, ale szukam zmiany domyślnej konfiguracji.
csvan