2015-11-09 26 views
8

Node.jsでこのエラーが発生する可能性があるのはわかりません。以前は見たことがないので、オンラインで別の問題を見つけることはできません。予期しないトークン=

Message: 
    Unexpected token = 
Stack: 
SyntaxError: Unexpected token = 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:404:25) 
    at Object.Module._extensions..js (module.js:432:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:311:12) 
    at Module.require (module.js:366:17) 
    at require (module.js:385:17) 
    at Object.<anonymous>  (/Projects/api/test/integration/models/article.js:3:15) 

エラーの原因となっているファイルには、次のような内容があります。

'use strict'; 

var Article = require('../../../models/article') 

はなぜ世界で=エラーを引き起こすのでしょうか?

編集1 - 必要とされているarticle.jsを追加するには:

'use strict'; 

class ArticleModel { 

    constructor(options = {}) { 
    this.options = options 
    } 

} 

module.exports = ArticleModel 
+0

それがファイルを見つけていない可能性があります。ときどきエラーメッセージが表示され、異常に解釈されることがあります – MiltoxBeyond

+0

最後にセミコロンは必要ありませんか? – gariepy

+0

それはファイル全体ですか?ファイルが見つからない場合、 'Error:Can not find module'のようなエラーが発生するはずです。また、それはいくつかの奇妙なユニコード=文字のような可能性がありますか? – EmptyArsenal

答えて

8

node.js 5.0はまだすべてのES6機能をサポートしていません。特に、デフォルトパラメータはまだサポートされていません。

ので、この行:

constructor(options = {}) { 

=割り当てでエラーの原因となっているものです。

this table(node.js 5.0でサポートされている機能)を参照してください。


あなたは昔ながらの方法でデフォルトパラメータの割り当てを置き換えることができます:私は思う

constructor(options) { 
    this.options = options || {}; 
} 
+0

にあるバグを見つけてください。 OP、このメソッドを使うか、 'babel-core'を使ってこの構文をサポートしてください。 – GPX

-1

エラーがarticle.jsの3行目にあります。

+0

質問の下にある内容は、エラーを出しているarticle.jsファイルです。テストファイルは 'test/integrations/models/article.js'と呼ばれ、' ../../../ models/article.js'をロードします。とにかく –

+0

の場合は、元のモジュール –

0

、あなたの現在のNode.jsの分布は、デフォルトのパラメータ値をサポートしていません。

あなたはそれを削除する必要があります。

constructor(options) { 
    this.options = options || {}; 
    } 

あるいは、--harmonyランタイムフラグで再生しよう。


this link--harmonyによると、支援することはできませんが、この機能は全くnode5.0に実装されていません。

0

私は、ノードのV5.7.0を使用していますが、このオプションを使用してデフォルトパラメータを有効にすることができます。 --harmonyデフォルトパラメータ

関連する問題