2017-05-25 83 views
3

随着最新版本的nodejs 7.6+我开始使用async/await。需要一个正确的eslintrc异步/等待 - 使用7.6+ nodejs

我使用的是jshint,但是从我读的内容他们目前支持这种语法,并且有人建议使用eslint。

因此,我确定了eslint,但是argh ..它也标记了异步函数。
Parsing error: Unexpected token init (Fatal)

我知道没有错,因为我的代码运行良好,它只是棉绒。如果我注释掉一个异步函数,它只会标记下一个异步函数。事实上eslint只标记了第一个发现这个错误的异步不是全部(这是什么?)

这是使用init向导制作的eslintrc文件。我希望只要求节点和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 repo上看到了一些相关的问题,但都没有帮助我解决这个问题。我不认为这是一个错误,只是错过了使用commonjs(无babel)为本地nodejs正确设置eslint的问题。

谁知道也许babel插件是使这项工作,即使我不使用babel?如果那是真的,我该如何设置它。

回答

10

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

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