【发布时间】:2019-09-28 17:44:10
【问题描述】:
我想在某种条件下导入一个模块,所以我是通过动态导入语法来实现的:
if (showModal) {
import('fancy-modal').then(({ initModal }) => {
initModal();
});
}
这可行,但无论showModal 的值是什么,它都会将“fancy-modal”库代码添加到 webpack 包中。
我以为动态导入只会在条件为真的情况下加载库,为什么无论如何它都会被 webpack 加载?
【问题讨论】:
-
您是说当您在生产环境中运行
webpack时,它内置于同一个javascript 包中,而不是拆分成自己的块? -
如果你在代码库的其他地方静态地
import'ing 同一个模块,它将被放入入口块中。仅供参考。根据您的措辞,我不太确定您的问题是什么。 -
我明白,但我不会在我的代码库的其他任何地方导入它。我的问题是,如果条件为假,我希望它不会被添加到捆绑包中。我希望只有在构建时条件为真时才包含它。
标签: javascript webpack dynamic-import