【问题标题】:"SyntaxError: Unexpected token )" in Node.jsNode.js 中的“SyntaxError: Unexpected token )”
【发布时间】:2017-11-05 09:20:58
【问题描述】:

我不断收到以下代码的SyntaxError: Unexpected token )' 错误:

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

它实际上是在我放入箭头函数之后才开始的。我想我在语法方面遗漏了一些东西。我正在使用 airbnb 风格指南和 linter 顺便说一句。运行 Node.js LTS。 VS Code 在编辑器本身也不会给出任何解析错误。 该代码通过 Babel 转译为 ES2015 时有效。我仍然很好奇为什么它不能使用 ES6 语法。

【问题讨论】:

    标签: javascript node.js ecmascript-2017


    【解决方案1】:

    问题在于,您在两个地方使用了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 支持,但可以使用 Babel 进行转译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2019-02-10
      相关资源
      最近更新 更多