我喜欢Syntastic用于JavaScript,但我正在使用新的ES6模块转换器,而Syntastic对这些类型的语句感到不满意:
import Typeahead from './lib/components/ember-typeahead';
有没有方法可以让syntastic不再检查这种类型的语句?
我喜欢Syntastic用于JavaScript,但我正在使用新的ES6模块转换器,而Syntastic对这些类型的语句感到不满意:
import Typeahead from './lib/components/ember-typeahead';
有没有方法可以让syntastic不再检查这种类型的语句?
Syntastic将使用JSHint检查JavaScript语法如果可用(我推荐它比jslint更好)。
JSHint支持使用esnext
标志的es6语法,其中包括对export
和import
模块语法的支持。
我建议添加一个.jshintrc
文件到您的项目中,以控制JSHint的行为(从而控制整个项目的Syntastic):
{
"esnext": true
}
esnext
标志将添加对 JSHint 目前支持的 es6 新语言语法 的全部支持,而不仅仅是模块语法。
注意:esnext
现已被弃用,推荐使用 esversion
语法。{
"esversion": 6
}
为了解决这个问题,我建议按照此处的建议执行以下步骤:为React配置Vim:
安装eslint
和babel-eslint
:
npm install -g eslint babel-eslint
在您的项目中创建本地.eslintrc
配置文件,或者创建全局~/.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']
let g:syntastic_javascript_checkers = ['eslint']
应该放在哪里?抱歉,我在zed/syntastic方面有点新手。 - unsynchronized.vimrc
文件中,通常位于~/.vimrc
。但是你也可以有本地的.vimrc
文件,所以它可能在其他地方。 - user115014