npm 模块使用哪个 ECMAScript 版本?



我正在使用一些 npm 模块,我想知道他们需要运行哪个 ECMAScript 版本。我目前使用 brite 模块并遇到问题。我认为问题是因为模块需要更新的版本,但我找不到有关它需要的任何信息。 npm 模块使用的版本是否有通用规范?

这取决于哪些模块。有些模块可以使用 ES3,有些可以使用 ES5,有些可以使用 ES6,有些甚至可以使用 ES2017。没有一个版本的 ECMAScript 是所有 npm 模块都编写的,但通常大多数模块应该在任何相当现代的 Node 版本上运行。但请记住,并非 npm 上的所有内容都是 Node 模块。npm 可以用来分发一些其他代码,如前端代码甚至 Perl 脚本!

您在问题中链接到的 npm 包不包括package.json中用于指定其所需节点版本的engines字段 - 请参阅:

  • https://docs.npmjs.com/files/package.json#engines

它也没有任何自动测试可以验证它支持的节点版本。

您的问题中没有包括两件最重要的事情:

  1. 您会收到哪些错误
  2. 您使用的是哪个版本的节点

您也未包括的其他相关信息:

  • 您是否在最新的节点版本上进行了测试?
  • 问题仍然存在吗?

在这一点上,您不应该真正使用任何早于 6.x 的节点版本,这是当前的 LTS,最好是 7.x 是当前的稳定版本。您仍然可以使用4.x,因为它仍然可以获得一年的维护,但没有理由这样做。版本 5.x 不是 LTS,因此不再受支持。查看节点版本的维护计划:

  • https://github.com/nodejs/LTS#readme

要查看 Node 版本的 ECMAScript 支持,请参阅:

  • http://node.green/

最新更新