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?

csvan.dll
sumber
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
      })
    ]
  }
};
Pesolek
sumber
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
 }
Nafis
sumber
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

Sarath Ak
sumber
1

Lari saja:

yarn add uglifyjs-webpack-plugin --dev

Referensi: Jawaban Alfonso Pérez

Rafael Corrêa Gomes
sumber
-4

Anda harus memeriksa popsi: https://webpack.js.org/guides/production/#cli-alternatives : tanda ini memberi tahu Webpack untuk mengoptimalkan build Anda untuk lingkungan produksi. Anda dapat menggunakannya dengan "produksi" baru modeuntuk bangunan yang lebih kecil.

KorHosik
sumber
2
Terima kasih, tetapi saya ingin mengubah konfigurasi default.
csvan