我喜欢 javascript 的 syntastic,但我正在使用新的ES6 模块 tranpiler,而 syntastic 对这些类型的语句不满意:
import Typeahead from './lib/components/ember-typeahead';
无论如何,我可以对这种类型的陈述保持沉默吗?
我喜欢 javascript 的 syntastic,但我正在使用新的ES6 模块 tranpiler,而 syntastic 对这些类型的语句不满意:
import Typeahead from './lib/components/ember-typeahead';
无论如何,我可以对这种类型的陈述保持沉默吗?
Syntastic 将使用 JSHint 来检查 JavaScript 语法 是否可用(我推荐使用 jslint)。
JSHint 支持带有esnext
flag的 es6 语法,其中包括对export
和import
模块语法的支持。
我建议在你的项目中添加一个.jshintrc
文件来控制整个项目的 JSHint 的行为(以及 Syntastic 的):
{
"esnext": true
}
注意:要小心,因为使用该esnext
标志将添加对 JSHint 当前支持的所有es6新语言语法的支持,而不仅仅是模块语法。
{
"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']