【发布时间】:2016-06-25 04:37:19
【问题描述】:
有条件的
是否可以有如下的条件导入语句?
if (foo === bar) {
import Baz from './Baz';
}
我已经尝试了上述方法,但在编译时收到以下错误(来自 Babel)。
'import' and 'export' may only appear at the top level
动态
是否可以有如下动态导入语句?
for (let foo in bar) {
if (bar.hasOwnProperty(foo)) {
import Baz from `./${foo}`;
}
}
上面在编译时从 Babel 收到同样的错误。
这是可能的还是我缺少什么?
推理
我尝试这样做的原因是我有很多“页面”的导入,并且它们遵循类似的模式。我想通过使用动态 for 循环导入这些文件来清理我的代码库。
如果这不可能,那么在 ES6 中是否有更好的方法来处理大量导入?
【问题讨论】:
-
这种情况下不能使用继承吗?使用
super调用具体。 -
我已经在使用继承,但是这些“页面”中包含“页面”特定的逻辑。我确实有一个可以扩展的基本“页面”类,但这不足以清理我拥有的大量导入。
-
@zerkms:它们不是从块中取出的——它们是语法错误。