webpack 中的条件要求文件

Conditional require file in webpack

我只想将文件捆绑到我的生产版本中,除非它不是 DEBUG;

所以我使用 webpack.DefinePlugin 并设置变量 DEBUG === true

还使用默认选项配置 webpack.UglifyJsPlugin

而在 js 文件中,我是这样的:

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

我检查了最终的 bundle 文件,A 被替换为 null(所以 DefinePlugin 工作正常),但是 some-debug.js 文件的内容仍然在 bundle js 中。

能不能让webpack不需要这个文件?

ps: 我想我可以用resolve.alias来解析'./some-debug.js' --> undefined。但我想保持 webpack.config.js 通用,不想应用太多 resolve.alias 条目。

谢谢

它不适用于三元运算符。

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