gpt4 book ai didi

javascript - 如何有条件地导入 ES6 模块?

转载 作者:IT老高 更新时间:2023-10-28 13:18:30 25 4
gpt4 key购买 nike

我需要做类似的事情:

if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}

以上代码无法编译;它抛出 SyntaxError: ... 'import' and 'export' may only appear at the top level.

我尝试使用 System.import 如图 here ,但我不知道 System 来自哪里。这是一个没有被接受的 ES6 提案吗?那篇文章中指向“程序化 API”的链接将我转储到 deprecated docs page。 .

最佳答案

我们现在确实有 ECMA 的动态导入提案。这是在第 3 阶段。这也可作为 babel-preset .

以下是根据您的情况进行条件渲染的方法。

if (condition) {
import('something')
.then((something) => {
console.log(something.something);
});
}

这基本上返回了一个 promise 。 promise 的解决方案有望具有该模块。该提案还具有其他功能,如多个动态导入、默认导入、js 文件导入等。您可以找到有关 dynamic imports here 的更多信息.

关于javascript - 如何有条件地导入 ES6 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com