【问题标题】:Which ECMAScript Version do the npm modules use?npm 模块使用哪个 ECMAScript 版本?
【发布时间】:2017-09-09 15:17:33
【问题描述】:

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

【问题讨论】:

  • 您需要更加具体。您遇到的具体问题是什么?比如,错误是什么?
  • 这取决于模块——最好的办法是查看文档
  • 对我来说看起来像 ecma 4,但也可以是 5
  • 首先告诉我们您使用的是什么版本的 node.js。
  • 我的错误是找不到模块,但是我在平台上运行代码并且错误日志不是很详细,所以我认为可能是问题所在。该平台使用 ES3。所以我只是想知道模块需要哪个版本,在文档中我没有找到任何东西

标签: javascript node.js npm


【解决方案1】:

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

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

它也没有任何可以验证它支持哪个 Node 版本的自动化测试。

您的问题中没有包含两个最重要的内容:

  1. 您会遇到什么错误
  2. 您使用的是什么版本的 Node

您也没有提供的其他相关信息:

  • 您是否在最新的 Node 版本上进行了测试?
  • 问题还存在吗?

此时,您不应真正使用任何早于 6.x 的 Node 版本,这是当前的 LTS,最好是 7.x,这是当前的稳定版本。您仍然可以使用 4.x,因为它仍然需要一年的维护,但没有理由这样做。版本 5.x 不是 LTS,因此不再受支持。查看Node版本的维护时间表:

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

【讨论】:

  • 好的,所以如果他们不在文档中写版本我运气不好?我正在使用 node 4.5 和 browserify 模块来使用没有节点的客户端的模块
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 2012-02-17
  • 2015-12-04
  • 1970-01-01
  • 2015-10-03
  • 2021-04-14
  • 2017-05-15
相关资源
最近更新 更多