Node.js 对 ES6 (ECMAScript 2015) 模块支持的计划
问题:
Node.js 目前依赖于用于模块加载的 CommonJS 语法,使开发人员在使用 ECMAScript 2015 模块标准方面的选择有限。 Node.js 会采用 ECMAScript 2015 模块吗?
答案:
是的,Node.js 正在积极努力支持 ECMAScript 2015 模块。不过,该实现已被标记为实验性,在生产环境中应谨慎使用。
Node.js 支持进度:
-
Node .js 13.2.0 及以上: 现在支持不带标志的 ES 模块,但实现仍然是实验性的。
-
Node.js 13.1.0 及以下: esm 模块加载器可用于在旧 Node.js 版本中提供生产就绪的 ES 模块支持。
实施详情:
- Node.js 会根据 package.json 中的 package.type 字段实现模块检测。
- .cjs 文件扩展名可以用来专门导入模块中的 CommonJS 模块
*时间表:
-
2019 年 4 月: 一项 PR 落地,以增强模块检测和加载行为。
-
一月2019 年: Node.js 11.6.0 将 ES 模块列为实验性的,需要一个标志才能启用。
-
2017 年 9 月: Node.js 8.5.0 引入了对 .mjs 文件的支持在标志后面,计划在 v10.0 LTS 中删除该标志发布。
-
2017 年 9 月: 对 ESM 模块的初始支持已添加到 Node.js 主分支,通过 --experimental-modules 标志启用。
-
2017 年 2 月: Node.js 宣布打算为 ES6 使用 .mjs 文件扩展名模块。
-
2016 年 10 月: 一位 Node.js 开发人员概述了在 Node.js 中实现 ES6 模块的障碍,包括静态模块和评估模块之间的差异以及检测模块的难度
结论:
Node.js 致力于实现 ECMAScript 2015 模块支持,但确切的时间表和实现细节仍在不断发展。开发者可以跟踪开发进度,同时使用实验性功能或外部模块加载器来支持 ES Module。
以上是Node.js 会拥抱 ES6 模块吗?的详细内容。更多信息请关注PHP中文网其他相关文章!