使用node和nvm获取ES6功能

10

我已经安装了node 0.10.*,然后安装了nvm,在nvm上安装了0.11.13和0.10。

运行 node --version 命令返回的版本是 0.11.13。

我尝试使用一些我读到的ES6新特性,但是没有任何一个能够正常工作。

我用 node --harmony index.js 命令来运行我的脚本。

代码中的 ...args 报错:SyntaxError: Unexpected token .

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

在哪里可以找到当前版本0.11.13所支持的内容?


你是否偶然错过了严格模式(strict mode)? https://dev59.com/YGgu5IYBdhLWcg3wfHI_#11326647 - Brad
@Brad - 我漏掉了那个,糟糕。我把它添加到文件顶部,现在我得到了一个不同的错误 - SyntaxError:在“let”中出现意外的严格模式保留字。 - Madd0g
2个回答

8
尝试使用这个替代方案。
"use strict"
let x = 5;
console.log(x)

它会起作用。

按照以下方式运行它。

node --harmony file.js

1
我在文件顶部添加了"use strict"之后,现在出现了这个错误。SyntaxError: Unexpected strict mode reserved word - Madd0g
1
@Madd0g 当你运行命令时没有使用 --harmony 标志,就会出现这个错误。请使用 node --harmony file.js 运行它。 - Mritunjay
4
哇。 node --harmony script.jsnode script.js --harmony 不同。 - Madd0g
2
@Madd0g 不,绝对不是。你应该在问题中说明这一点。你所做的是将参数传递给你的Node.js脚本,而不是传递给Node本身。 - Brad

3

我遇到了同样的问题,后来发现我不知怎么就在运行node 0.12.7 (是的没错!)。将其升级到最新版(5.6.0)后问题得以解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接