合成抱怨ES6模块语法

时间:2013-11-23 09:56:54

标签: javascript vim ecmascript-6 syntastic

我喜欢使用javascript的语法,但我使用的是新的ES6 module tranpiler,而且对这些类型的语句不满意:

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

无论如何,我可以保持这种声明的安静吗?

2 个答案:

答案 0 :(得分:58)

Syntastic will use JSHint to check JavaScript syntax if it's available(我推荐使用jslint)。

JSHint supports es6 syntax with the esnext flag,其中包括对exportimport模块语法的支持。

我建议你的项目adding a .jshintrc file控制整个项目的JSHint行为(以及Syntastic):

{
  "esnext": true
}

注意:请注意,因为使用esnext标志将添加对JSHint当前支持的{em>所有的es6's new language sytax的支持,而不仅仅是模块语法。

注意esnext现已弃用,而采用esversion语法。

{
  "esversion": 6
}

答案 1 :(得分:20)

要解决此问题,我建议按照以下步骤进行操作:Configure Vim for React

安装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']