webpack中的条件需求文件

时间:2017-07-05 05:39:07

标签: javascript webpack webpack-2 uglifyjs tree-shaking

我想将文件捆绑到我的生成版本中,只有当它不适用于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个条目。

由于

1 个答案:

答案 0 :(得分:4)

它不适用于三元运算符。

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