Webpack 4 - Wie konfiguriere ich minimieren?


114

Webpack 4 enthält die folgende Anweisung:

webpack.optimize.UglifyJsPlugin wurde entfernt. Verwenden Sie stattdessen config.optimization.minimize.

Fair genug, aber ich kann keine Informationen zum Konfigurieren der UglifyJsPlugin-Instanz finden, die unter der Haube ausgeführt wird, um beispielsweise das Cache-Verzeichnis zu ändern. Kann das gemacht werden?


2
Als Referenz UglifyJsPluginsind die
Standardeinstellungen

Antworten:


95

Es ist nicht möglich, die Standardkonfiguration zu ändern.

Sie können die optimization.minimizerEinstellung jedoch verwenden, um Ihre eigenen zu instanziieren UglifyJsPlugin. Mit 4.0 haben wir dieses Beispiel Quelle selbst zu bekommen abbildet , wenn modeeingestellt ist 'production'beispielsweise (nicht mehr notwendig , wie von 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
Sollte Webpack 4 nicht Zero Conf sein?
Connexo

3
Dies erfordert jedoch, dass ich das Plugin instanziiere. Ich möchte nur die vorhandene Konfiguration ändern.
csvan

4
Und denken Sie daran, dass Sie dies möglicherweise tun müssen yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
und hier; Suche nach "Optimierungs- Minimierer
Beau

3
@ AlfonsoPérez Webpack installiert bereits uglifyjs-webpack-pluginals Abhängigkeit
Beau

5

Ohne Hinzufügen uglifyjs-webpack-pluginkönnen Sie dies einfach am Ende Ihrer Datei webpack.prod.config.js hinzufügen :

 optimization: {
   minimize: false
 }

2

Sie können dies versuchen

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

webpack.config.js

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

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

Webpack-Dokumentation




Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.