【发布时间】:2018-03-30 06:33:44
【问题描述】:
我正在尝试有条件地加载一个模块,并且条件似乎有效,但是当条件为 false 时,webpack 仍然将条件模块作为捆绑包的一部分,这是导入代码:
if (process.env.FEAT_SUPPORT === 'on') {
require('feature');
console.log('Enabled')
} else {
console.log('disabled')
}
即使值不是'on',它仍然需要模块。我使用日志行对此进行了测试,并且在打开和关闭时会出现正确的日志行。
我正在使用 Webpack 定义插件来设置变量。这样做的主要原因是为了保持包的大小很小,而且似乎没有这样做。
【问题讨论】:
-
添加一些可以消除死代码的东西 (
webpack.optimize.UglifyJsPlugin)。 -
我使用 webpack 生产版本进行优化和最小化,它删除了死代码,但在上述情况下没有这样做
标签: javascript webpack