2016-11-23 89 views
3

我是新來的節點剛剛啓動了一個應用程序使用eclipse和nodeclipse插件。當我運行應用程序使用節點core.js它工作正常,但使用Eclipse它顯示我以下錯誤。Nodejs應用程序SyntaxError:意外的保留字'class'

/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) 

無法弄清楚這裏有什麼問題。我用Google搜索解決方案,並發現了一些資源Unexpected reserved word,但不知道如何將其納入我的日食

我的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" 
} 
} 

FYI:
我的節點版本是4.4.6

IDE eclipse Mars 1 with nodeclipse插件

任何幫助將不勝感激。

+0

如果你不是在瞭解ES6的環境中編寫的,它會警告你關於不是ES5的東西。 –

回答

2

我解決了這個問題抓我的頭這麼多小時後。

由於@Tom M表示類聲明是一個ES6功能,以前我有節點4.2.6,但是當我將它更新到v4.6.2時,錯誤消失了。

我從here下載的二進制文件,並通過手動提取文件到我的/ usr/local目錄下安裝的節點,然後跑

npm install 

你可以找到如何手動安裝節點二進制here

+0

在* nix系統上,您可以通過軟件包管理器(homebrew,yum,pacman,apt等)來安裝和維護nodejs。請參閱:https://nodejs.org/en/download/package-manager/ –

1

最近在ECMAScript 6中引入了JavaScript類。它們比以前的原型繼承模型是句法糖。

您可以檢查哪些節點的版本支持類語法在node.green

你可以看到類的概念是從v4.6.2支撐,嘗試將其更新到至少4.6.2.But不是所有的ES6功能受此版本支持。

相關問題