【问题标题】:Getting ES6 features with node and nvm使用 node 和 nvm 获取 ES6 功能
【发布时间】:2025-12-19 23:35:06
【问题描述】:

我已经有节点 0.10.* 并安装了 nvm,然后通过 nvm 我再次安装了 0.11.13 和 0.10。

node --version 返还 0.11.13

我尝试使用我读到的一些 ES6 功能,但我尝试过的没有任何效果。

我使用node --harmony index.js 运行我的脚本

...argsSyntaxError: Unexpected token .

let x = 5; 也会报错 - SyntaxError: Unexpected identifier

在哪里可以找到 0.11.13 中当前支持的功能?

【问题讨论】:

  • 您是否偶然错过了严格模式? *.com/a/11326647/362536
  • @Brad - 我错过了,哎呀。我将它添加到文件的顶部,现在我得到一个不同的错误 - SyntaxError: Unexpected strict mode reserved word in let

标签: node.js ecmascript-harmony nvm


【解决方案1】:

试试这个

"use strict"
let x = 5;
console.log(x)

它会起作用的。

如下运行

node --harmony file.js

【讨论】:

  • 在文件顶部添加“use strict”后,我现在得到了这个。 SyntaxError: Unexpected strict mode reserved word
  • @Madd0g 当您运行没有--harmony 标志的命令时会发生此错误。使用node --harmony file.js 运行它
  • 哇。 node --harmony script.jsnode script.js --harmony 不一样
  • @Madd0g 不,绝对不是。你应该把它放在你的问题中。您所做的是将参数传递给您的 Node.js 脚本,而不是 Node 本身。
【解决方案2】:

我遇到了同样的问题,发现我正在以某种方式运行节点 0.12.7(我知道,对吧?!)。升级到最新版本 (5.6.0) 解决了该问题。

【讨论】: