"SyntaxError: Unexpected token )" in Node.js
"SyntaxError: Unexpected token )" in Node.js
我不断收到以下代码的 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 btw。 运行 Node.js 长期支持。 VS Code 不会在编辑器本身中给出任何解析错误。
代码在通过 Babel 转译为 ES2015 时有效。我仍然很好奇为什么它不能使用 ES6 语法。
问题是您在两个地方使用了 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 的一部分,Node.js 8.0.0 之前的版本不支持此语法,但可以使用 Babel 进行转译。
我不断收到以下代码的 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 btw。 运行 Node.js 长期支持。 VS Code 不会在编辑器本身中给出任何解析错误。 代码在通过 Babel 转译为 ES2015 时有效。我仍然很好奇为什么它不能使用 ES6 语法。
问题是您在两个地方使用了 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 的一部分,Node.js 8.0.0 之前的版本不支持此语法,但可以使用 Babel 进行转译。