[英]Conditionally import modules in ES6
我正在为React提供免费和专业组件的库,并具有用于生产的汇总和用于开发人员的webpack。 我想重用一个组件,但免费版本的变体要少一些。 到目前为止,下面的代码一直有效,但是如果我们考虑使用汇总功能支持ssr和树状摇动,则必须使用es6导入(至少据我所知)。 任何想法如何导入模块(如果存在)->如果不存在-导入另一个模块?
let DropdownMenuComponent;
try {
DropdownMenuComponent = require("./pro/DropdownMenuProComponent").default;
} catch (err) {
DropdownMenuComponent = require("./DropdownMenuComponent").default;
}
我尝试了动态导入,但是在缺少模块时,它无法正确捕获错误。
谢谢
实际上,在第3阶段有一个建议,可以使用import()动态导入ES模块,还可以使用babel预设 ,在您的情况下将是这样的:
if (isProAccount())
import("./pro/DropdownMenuProComponent")
.then(DropdownMenuComponent => DropdownMenuComponent.something());
else
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.