Webpack 4 - Bagaimana cara mengkonfigurasi meminimalkan?


114

Webpack 4 hadir dengan pernyataan berikut:

webpack.optimize.UglifyJsPlugin telah dihapus, gunakan config.optimization.minimize sebagai gantinya.

Cukup adil, tetapi saya tidak dapat menemukan informasi apa pun tentang konfigurasi instance UglifyJsPlugin yang berjalan di bawah kap, misalnya untuk mengubah direktori cache. Bisakah ini dilakukan?


2
Untuk referensi, UglifyJsPlugindefault tercantum di sini
davnicwil

Jawaban:


95

Konfigurasi default tidak dapat diubah.

Anda dapat menggunakan optimization.minimizerpengaturan untuk membuat contoh Anda sendiri UglifyJsPlugin. Menggunakan 4.0 kami menggunakan contoh ini untuk mendapatkan peta sumber bahkan ketika modedisetel ke 'production'misalnya (tidak lagi diperlukan sejak 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
Bukankah webpack 4 seharusnya nol conf?
connexo

3
Ini mengharuskan saya untuk membuat instantiate plugin, saya hanya ingin mengubah konfigurasi yang ada.
csvan

4
Dan perlu diingat Anda mungkin perlu melakukan yarn add uglifyjs-webpack-plugin --dev;)
Alfonso Pérez

2
dan di sini; cari "optimization.minimizer" di halaman ini: medium.com/webpack/webpack-4-mode-and-optimization-5423a6bc597a
Beau

3
@ AlfonsoPérez webpack sudah diinstal uglifyjs-webpack-pluginsebagai ketergantungan
Beau

5

Tanpa menambahkan uglifyjs-webpack-plugin, Anda bisa menambahkan ini di akhir file webpack.prod.config.js Anda :

 optimization: {
   minimize: false
 }

2

Anda bisa mencobanya

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

webpack.config.js

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

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

dokumentasi webpack




Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.