【问题标题】:Which runtime platforms and versions have implemented ES6 modules and import export syntax?哪些运行时平台和版本实现了 ES6 模块和导入导出语法?
【发布时间】:2019-12-01 15:26:25
【问题描述】:

下面的语法:

import someModule from './some/path';

// DECLARE OR EXECUTE SOME STUFF

function fooBar() {
  return;
}

export const foo = 'bar';
export default fooBar;

我一直在文档和教程中看到这是 ES6 导入/导出语法

所以我一直认为它是随 ES2015 (ES6) 规范一起出现的,对吧?

但为什么它没有显示在 Kangax 兼容性表中?

我在表格的任何地方都找不到它。我如何知道哪些平台/版本实现了它?

https://kangax.github.io/compat-table/es6/

【问题讨论】:

    标签: javascript ecmascript-6 import es6-modules


    【解决方案1】:

    “我可以使用”似乎有您要查找的内容:

    https://caniuse.com/#feat=mdn-javascript_statements_import

    桌面浏览器的兼容性:

    • 边缘 >= 16(2017 年 10 月)
    • 铬 >= 61(2017 年 9 月)
    • Firefox >= 60(2018 年 5 月)
    • Safari >= 10.1(2017 年 3 月)
    • Opera >= 47(2017 年 8 月)

    对于移动浏览器来说,信息比较有限,但日期可能在同一个范围内。

    您今天应该在用户代码中使用 ES6 导入吗?如果您的应用程序旨在供普通受众使用,则可能不会,除非您的目标是已知支持它的特定运行时。再过几年吧。

    通常的做法是使用诸如WebpackFuseBox 之类的捆绑程序(我个人对后者有很好的经验)。通过这种方式,您可以在代码库中使用导入语法,而最终用户将获得一个组合的 .js 文件,该文件以更兼容的方式处理模块导入/导出。

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2014-07-23
      相关资源
      最近更新 更多