web-dev-qa-db-ja.com

ES6モジュールの構文に関する文法的な不満

私はJavaScriptのSyntasticが大好きですが、新しい ES6モジュールtranpiler を使用していて、syntasticは次のタイプのステートメントに満足していません。

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

とにかく、私はこのタイプの発言について統語論的に静かに保つことができますか?

24
dagda1

SyntasticはJSHintを使用してJavaScript構文をチェックします使用可能な場合 (これはjslintよりもお勧めします)。

JSHintは、esnextおよびexportモジュール構文のサポートを含む、importフラグを使用したes6構文をサポートします

プロジェクト全体でJSHintの動作(つまりSyntasticの動作)を制御するには、プロジェクトに _.jshintrc_ファイルを追加 することをお勧めします。

_{
  "esnext": true
}
_

注:esnextフラグを使用すると、モジュール構文だけでなく、JSHintが現在サポートしている es6の新しい言語構文allのサポートが追加されるため、注意してください。

esnextesversion 構文のために廃止されました。

_{
  "esversion": 6
}
_
61
slindberg

これを回避するには、ここで推奨されている次の手順をお勧めします。 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']
20
gnerkus