【问题标题】:How ES6 modules works in the browser? [duplicate]ES6 模块如何在浏览器中工作? [复制]
【发布时间】:2016-12-01 09:43:00
【问题描述】:

我了解导出/导入语法,但我想知道浏览器将如何加载这些模块。

转译器通常只是将代码复制到正确的位置,但我很想知道浏览器在没有任何转译器的情况下如何做到这一点。

导入会触发http请求吗?

脚本声明顺序重要吗?

【问题讨论】:

  • 转译器不复制代码,它是“复制”代码的捆绑器,转译器只将简单的 ES 版本转换为另一个 ES 版本
  • 仅供参考,我已经为上面链接的问题添加了答案。自上一个答案以来,事情已经发生了变化。
  • 实际上转译器将代码编译并转换为浏览器可以理解的另一种语言,如Javascript。

标签: javascript ecmascript-6


【解决方案1】:

目前浏览器还没有能力解析 ES6 模块,我认为根本没有任何真正的实现。

未来,也许它会与 HTTP 一起使用,但我们还不知道,因为规范尚未完成。

【讨论】:

  • 为什么投反对票?
【解决方案2】:

是的,他们发送一个新的 HTTP 请求来加载模块。

如果您使用任何 polyfill 作为模块加载器,您可以检查模块加载器发送多个 ajax 请求以加载所有模块的网络活动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 2019-04-01
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多