Tìm kiếm trang web

javascript - Yêu cầu tệp có điều kiện trong webpack


Tôi muốn gom các tệp vào bản build sản xuất của mình chỉ nếu nó không phải cho DEBUG;

Vì vậy tôi đã sử dụng webpack.DefinePlugin và đặt biến DEBUG === true.

Cũng cấu hình webpack.UglifyJsPlugin với các tùy chọn mặc định

Và trong tập tin js, tôi làm như thế này:

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

Tôi đã kiểm tra tệp gói cuối cùng, A đã được thay thế bằng null (vì vậy DefinePlugin hoạt động tốt), nhưng nội dung của tệp some-debug.js vẫn còn trong tệp js gói.

Có thể để webpack không yêu cầu tệp này không?

ps: Tôi nghĩ tôi có thể sử dụng resolve.alias để giải quyết './some-debug.js' --> undefined. Nhưng tôi muốn giữ webpack.config.js của mình chung, không muốn áp dụng quá nhiều mục resolve.alias.

Cảm ơn

Câu trả lời #1

Nó không hoạt động với toán tử ba ngôi.

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