我不明白我看到的错误,也不明白我应该在我的 ESLint 配置中更改什么来修复它,在深入研究了一段时间之后。
我有一段使用 ECMA 版本 6 (ES6) 的 JS 代码,如下所示:
const launchApp = async () => {
await sequelize.sync()
app.listen(config.port)
console.log(`Server started on port ${config.port}.`)
}
在上面的 =>
处有一个 eslint 错误:
[eslint] Parsing error: Unexpected token => (22, 28)
我不明白为什么这被认为是一个意外的标记。其他 ES6 样式工作正常。我在 package.json
文件中设置配置,ESLint 相关部分如下所示:
"eslintConfig": {
"parserOptions": {
"ecmaVersion": 6
},
"env": {
"node": true,
"es6": true
},
"rules": {
"semi": ["error", "always"]
}
}
我做错了什么?我必须添加哪些进一步的配置?我看了arrow-parens和 arrow-body-style .据我所知,他们都告诉我 es6
标志应该足以允许箭头函数样式。
请您参考如下方法:
箭头函数是 es2015,但是async 箭头函数是 es2017。将您的 "ecmaVersion"
设置为 2017
(或更高版本),它应该可以工作。 See this finished proposals chart for when each ES feature post 2015 was added.