16.8 关于模块的常见问题解答
16.8.1 命名导出是必须的吗?为什么不简单地导出对象?
你可能想知道 - 如果我们可以简单地默认导出对象(就像在 CommonJS 中那样),为什么还需要命名导出?答案就是你不能通过对象来强制形成一个静态的语法结构,随后便丧失掉所有相关的优点(在 16.4.2 节有讲解)。
16.8.2 我可以通过 eval()
执行模块体吗?
不行,不能这么做。对于 eval()
来说,模块是很高层次的构造器。模块加载器 API 提供了从字符串创建模块的方式。在语法上, eval()
接收脚本而不是模块。