24

我喜欢 javascript 的 syntastic,但我正在使用新的ES6 模块 tranpiler,而 syntastic 对这些类型的语句不满意:

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

无论如何,我可以对这种类型的陈述保持沉默吗?

4

2 回答 2

61

Syntastic 将使用 JSHint 来检查 JavaScript 语法 是否可用(我推荐使用 jslint)。

JSHint 支持带有esnextflag的 es6 语法,其中包括对exportimport模块语法的支持。

我建议在你的项目中添加一个.jshintrc文件来控制整个项目的 JSHint 的行为(以及 Syntastic 的):

{
  "esnext": true
}

注意:要小心,因为使用该esnext标志将添加对 JSHint 当前支持的所有es6新语言语法的支持,而不仅仅是模块语法。

注意esnext现在已弃用以支持esversion语法。

{
  "esversion": 6
}
于 2014-03-05T19:28:33.963 回答
21

为了解决这个问题,我建议按照这里的建议执行以下步骤:为 React 配置 Vim

安装eslintbabel-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']
于 2015-08-27T18:08:52.177 回答