我是Node.js的新手,刚开始使用Eclipse和Nodeclipse插件构建应用程序。当我使用Node core.js运行应用程序时它工作正常,但使用Eclipse它会向我显示以下错误:
/home/sarojs/projects/Core/security.js:3
class Security {
^^^^^
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/home/sarojs/projects/node/liveprojects/ecurvInc/Core/core.js:12:16)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
我无法弄清楚这里有什么问题。我搜索了解决方案并找到了一些资源Unexpected reserved word,但我不明白如何将它合并到Eclipse中。
我的package.json看起来像这样:
{
"dependencies": {
"bluebird": "^3.4.0",
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"cors": "^2.8.1",
"debug": "~2.0.0",
"express": "~4.9.0",
"express-handlebars": "^3.0.0",
"express-session": "^1.13.0",
"mysql": "^2.11.1",
"passport": "^0.3.2",
"passport-local": "^1.0.0"
}
}
任何帮助都将受到高度赞赏。
答案 0 :(得分:4)
class
声明是ES6功能。 ES6在节点4.4.6中具有are hardly supported。尝试updating并再次运行npm install
另见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/class
答案 1 :(得分:3)
我抓了这么多个小时后解决了这个问题。
正如@Tom M所说,类声明是一个ES6特性,之前我有节点4.2.6但是当我将它更新到v4.6.2时,错误就消失了。
我从here下载了二进制文件并通过手动将文件解压缩到我的/ usr / local目录来安装该节点,然后运行
npm install
您可以找到如何手动安装节点二进制文件here
答案 2 :(得分:2)
最近在ECMAScript 6中引入了JavaScript类。它们是先前原型继承模型的语法糖。
您可以检查哪个版本的节点支持node.green
上的类语法您可以看到v4.6.2支持类概念,因此请尝试将其更新至至少4.6.2。但此版本不支持所有ES6功能。