2017-05-25 82 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 
    }, 
    // ... 
}