javascript - Memerlukan file secara kondisional di webpack


Saya ingin menggabungkan file-file ke dalam build produksi saya hanya jika itu bukan untuk DEBUG;

Jadi saya telah menggunakan webpack.DefinePlugin dan menetapkan variabel DEBUG === true.

Juga konfigurasikan webpack.UglifyJsPlugin dengan opsi default

Dan di file js, saya melakukan seperti ini:

const A = DEBUG === true ? null : require('./some-debug.js');
//do things with A, for example
console.log(A)

Saya memeriksa file bundle akhir, A diganti dengan null (jadi DefinePlugin berfungsi dengan baik), tetapi isi dari file some-debug.js masih ada di bundle js.

Apakah mungkin membuat webpack tidak memerlukan file tersebut?

ps: Saya pikir saya bisa menggunakan resolve.alias untuk menyelesaikan './some-debug.js' --> undefined. Tapi saya ingin menjaga webpack.config.js saya tetap umum, tidak ingin menerapkan terlalu banyak entri resolve.alias.

Terima kasih

Jawaban #1

Ini tidak bekerja dengan operator ternary.

let A;  
if (DEBUG === true) {
  A = require('./some-debug.js');
}