2017-06-04 16 views
2

に、私は次のコードのためSyntaxError: Unexpected token)'エラーを取得しておいてください。「にSyntaxError:予期しないトークン)」のNode.js

passport.use(
    'local-signup', 
    new LocalStrategy({ 
     usernameField: 'email', 
     passwordField: 'password', 
     passReqToCallback: true, // pass back req to callback 
    }, 
    (req, email, password, done) => { 
     // ... 
    }, 
), 
); 

私は矢印の機能を入れた後、それは本当に唯一始め、私は何かが欠けていると思います。構文に従った私はエアブッブスタイルガイド&リンターbtwを使用しています。 Node.js LTSを実行しています。 VSコードは、エディタ自体に解析エラーを与えません。 コードはBabel経由でES2015に転送されたときに機能します。なぜ私はES6の構文で動作していないのは不思議です。

答えて

5

問題は、2つの場所では、trailing comma in function syntax、つまり関数の最後の引数の後にカンマを使用していることです。

passport.use(
    'local-signup', 
    new LocalStrategy({ 
     usernameField: 'email', 
     passwordField: 'password', 
     passReqToCallback: true, // pass back req to callback 
    }, 
    (req, email, password, done) => { 
     // ... 
    }, 
// ^
), 
//^
); 

この構文はECMAScriptの2017の一部であり、バージョン8.0.0以前のNode.jsでサポートされていないが、バベルを使用してtranspiledすることができます。

+0

実際には、バージョン8.0.0のNodeJSでサポートされています – xerq

+0

@xerqありがとう、これを私の答えに加えました。あなたの提案された編集については、(新しい情報の追加のように)その意味を変える方法で他の人の回答を編集してはいけません。代わりに、あなたは単に答えにコメントすることができ、著者はそれを編集するかどうかを決定することができます。 –

関連する問題