一尘不染

需要正确的eslintrc用于异步/等待-使用7.6+ nodejs

node.js

使用最新版本的nodejs 7.6+,我开始使用async / await。

我使用的是jshint,但据我所知,它们目前确实支持此语法,有些建议使用eslint。

所以好吧,我设置了eslint,但是argh ..它也标记了异步功能。
Parsing error: Unexpected token init (Fatal)

我知道这没什么错,因为我的代码运行良好,仅是linter。如果我注释掉一个异步功能,它也只会标记下一个。实际上eslint仅标记发现此错误的第一个异步,而不是全部标记(这是怎么回事?)

这是使用初始化向导制作的eslintrc文件。我希望只是请求node和es6的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回购中存在一些相关问题,但是没有一个问题可以帮助我解决此问题。我不认为只是缺少一些有关使用commonjs(无babel)为本地nodejs正确设置eslint的错误。

谁知道即使我没有使用babel,也许需要babel插件才能使这项工作正常???如果是这样,我该如何设置。


阅读 156

收藏
2020-07-07

共1个答案

一尘不染

由于async/ await是ES2017功能,因此需要将其添加到您的.eslintrc.js

module.exports = {
    // ...
    "parserOptions": {
        "ecmaVersion": 2017
    },
    // ...
}
2020-07-07