2013-11-23 103 views
22

我愛syntastic爲JavaScript,但我現在用的是新ES6 module tranpiler和syntastic是不滿意這些類型的語句:syntastic抱怨ES6模塊語法

import Typeahead from './lib/components/ember-typeahead'; 

反正是有,我可以保持syntastic安靜這個類型的聲明?

回答

54

Syntastic will use JSHint to check JavaScript syntaxif it's available(我推薦通過jslint)。

JSHint supports es6 syntax with the esnext flag,其中包括對exportimport模塊語法的支持。

我建議adding a .jshintrc file到您的項目,以控制JSHint的行爲(因而Syntastic的)爲您的整個項目:

{ 
    "esnext": true 
} 

注意:要小心,因爲使用esnext標誌將增加對es6's new language sytax所有支持JSHint目前支持,而不僅僅是模塊語法。

注意esnext現在已被棄用,支持esversion語法。

{ 
    "esversion": 6 
} 
+1

都嘗試這些設置。 – AdamW

18

要解決這個問題,我建議以下步驟如下建議:Configure Vim for React

安裝eslintbabel-eslint

npm install -g eslint babel-eslint 

在項目中創建一個本地.eslintrc配置或全球配置:

{ 
    "parser": "babel-eslint", 
    "env": { 
     "browser": true, 
     "node": true 
    }, 
    "settings": { 
     "ecmascript": 6 
    }, 
    "rules": { 
     "strict": 0 // you can add more rules if you want 
    } 
} 

最後,配置syntastic使用eslint

let g:syntastic_javascript_checkers = ['eslint'] 
+0

都沒有工作,除了最後一個都有意義..你在哪兒放了'let g:syntastic_javascript_checkers = ['eslint']'?對不起,你的.vimrc文件中的zed/syntastic – unsynchronized

+0

有點新奇,它通常位於'〜/ .vimrc'中。但是你也可以在其他地方擁有本地的.vimrc文件。 – mjwatts