使用最新版本的nodejs 7.6+,我开始使用async / await。
我使用的是jshint但是根据我的阅读,他们目前支持这种语法,有些建议使用eslint。
好吧,我设置了eslint,但是唉..它也标志着异步功能。
Parsing error: Unexpected token init (Fatal)
我知道没有什么不对,因为我的代码运行正常,它只是linter。如果我注释掉异步函数,它只会标记下一个。事实上,eslint只会标记出这个错误的第一个异步而不是所有这些错误(那是什么?)
这是使用init向导创建的eslintrc文件。我希望只是要求节点和es6 for env就足够了......显然不是。
module.exports = {
"env": {
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"rules": {
"indent": [
"error",
"tab"
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"never"
]
}
};
修复是什么?
我已经尝试了几个版本的.eslintrc,甚至看到有一些与eslint repo有关的问题,但没有人帮我解决这个问题。我不认为这是一个错误,只是缺少一些关于使用commonjs(没有babel)为本地nodejs正确设置eslint的东西。
谁知道即使我不使用babel,也可能需要babel插件来完成这项工作?如果这是真的,我该如何设置它。
答案 0 :(得分:27)
由于async
/ await
是ES2017功能,您需要将其添加到.eslintrc.js
:
module.exports = {
// ...
"parserOptions": {
"ecmaVersion": 2017
},
// ...
}