async/await 需要正确的 eslintrc - 使用 7.6+ nodejs
need a correct eslintrc for async/await - using 7.6+ nodejs
使用最新版本的 nodejs 7.6+ 我开始使用 async/await。
我使用的是 jshint,但据我了解,他们目前确实支持这种语法,有些人建议使用 eslint。
好吧,我设置了 eslint,但是唉......它也标记了异步函数。
Parsing error: Unexpected token init (Fatal)
我知道没有问题,因为我的代码 运行 很好,只是 linter。如果我注释掉一个异步函数,它也会标记下一个。事实上,eslint 只标记第一个发现有这个错误的异步,而不是所有的错误(那是怎么回事?)
这是使用初始化向导制作的 eslintrc 文件。我希望只为 env 请求 node 和 es6 就足够了……显然不行。
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 仓库中看到了一些相关的问题,但是 none 正在帮助我解决这个问题。我不认为这是一个错误,只是缺少有关使用 commonjs(无 babel)为本机 nodejs 正确设置 eslint 的内容。
即使我没有使用 babel,谁知道也许需要 babel 插件才能完成这项工作???如果那是真的,我该如何设置它。
由于 async
/await
是 ES2017 功能,您需要将其添加到 .eslintrc.js
:
module.exports = {
// ...
"parserOptions": {
"ecmaVersion": 2017
},
// ...
}
使用最新版本的 nodejs 7.6+ 我开始使用 async/await。
我使用的是 jshint,但据我了解,他们目前确实支持这种语法,有些人建议使用 eslint。
好吧,我设置了 eslint,但是唉......它也标记了异步函数。
Parsing error: Unexpected token init (Fatal)
我知道没有问题,因为我的代码 运行 很好,只是 linter。如果我注释掉一个异步函数,它也会标记下一个。事实上,eslint 只标记第一个发现有这个错误的异步,而不是所有的错误(那是怎么回事?)
这是使用初始化向导制作的 eslintrc 文件。我希望只为 env 请求 node 和 es6 就足够了……显然不行。
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 仓库中看到了一些相关的问题,但是 none 正在帮助我解决这个问题。我不认为这是一个错误,只是缺少有关使用 commonjs(无 babel)为本机 nodejs 正确设置 eslint 的内容。
即使我没有使用 babel,谁知道也许需要 babel 插件才能完成这项工作???如果那是真的,我该如何设置它。
由于 async
/await
是 ES2017 功能,您需要将其添加到 .eslintrc.js
:
module.exports = {
// ...
"parserOptions": {
"ecmaVersion": 2017
},
// ...
}