const URL = '../container/foo'// [1] error: can't find moduleimport foo from URL// [2] goodimport foo from '../container/too'请教下大家,为什么 [2] 可行,而 [1] 会报错呢?或者说为什么我们要采用字符串的方式呢?
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
ModuleSpecifier,根据ECMA的规则,FromClause必须是字符串字面量。
但这规定是怎么来的呢?其实很简单,因为ECMAScript模块是静态的,也就是说你必须在模块的顶层定义静态导入。
静态两个字就说明了模块导入必须是写死的,不能在运行时动态改变。那自然就只能是字符串字面量。
当然,后续在tc39/proposal-dynamic-import中也会引入“动态引入”特性。
添加回答
举报
0/150
提交
取消