4

我只想将文件捆绑到我的生产版本中,除非它不是用于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)

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

是否可以让 webpack 不需要该文件?

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

谢谢

4

1 回答 1

5

它不适用于三元运算符。

let A;  
if (DEBUG === true) {
  A = require('./some-debug.js');
}
于 2017-07-05T17:04:50.867 回答