[英]Conditional Import still part of bundle in Webpack
我正在尝试有条件地加载模块,该条件似乎可以工作,但是当条件为false时,webpack仍将条件模块作为包的一部分,这是导入代码:
if (process.env.FEAT_SUPPORT === 'on') {
require('feature');
console.log('Enabled')
} else {
console.log('disabled')
}
即使该值不是“ on”,它仍然需要模块。 我使用日志行进行了测试,打开和关闭时会显示正确的日志行。
我正在使用Webpack define插件来设置变量。 进行上述操作的主要原因是将捆绑包的尺寸保持较小,并且似乎没有这样做。
(代表问题作者发布答案) 。
因此,上面的代码几乎是正确的,我需要删除表达式并仅使用if(process.env.FEAT_SUPPORT)
,其中将FEAT_SUPPORT替换为“ true”或“ false”
可以在代码中的任何位置调用按设计require
,因此这将在包中添加一个新模块。 如果您想将需求拆分为一个单独的文件,则应使用require.ensure
方法,该webpack将为您拆分它。
您还可以使用新的ES6 import()
语法,这将创建相同的结果。
请阅读:webpack文档中的动态导入一章 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.