2016-04-02 11 views
3

ののSourceType混合物我々はいくつかのES6モジュールに混ぜてeslintし始めているが正当に文句:スクリプトEslint - たsourceTypeを使用していないときは、インポート/エクスポートを使用する場合、スクリプトやモジュール

Parsing error: 'import' and 'export' may appear only with 'sourceType: module'at line 1 col 1 

しかし、私はにたsourceTypeを変更した場合モジュール、次に 'use strict'を持つすべてのファイル。一番上には、use strictがモジュール内で必要でないというフラグが立てられています。

モジュールはjsxファイルで、jsファイルはPOJですので、両方のsourceTypesを操作する必要があります。

モジュールとスクリプトの両方で動作するようにeslintを強制する方法に関するアイデアはありますか?私は2つの別々のeslintrcファイルとルールセットを実行して、1つをモジュールにし、もう1つをスクリプトにするのを避けたいと思います。

+0

をあなたは必要ないとしてフラグ '使用strict'ルールを無効にしないのはなぜ? (私はそれが可能であると仮定します) –

答えて

5

スクリプトに1つの拡張子があり、モジュールの拡張子が異なる限り、2つの異なる構成を持つことができます。

// .eslintrc.json 
{ 
    // ... 
    // Your normal config goes here 
    // ... 
} 

普通のスクリプトをeslint .と同じようにリントしています。デフォルトではsourceType: "script"に設定され、デフォルトで.eslintrc.jsonが取得され、デフォルトでは*.jsというファイルのみがリロードされます。

// .eslintrc.modules.json 
{ 
    "extends": "./.eslintrc.json", 
    "parserOptions": { 
     "sourceType": "module" 
    }, 
    // You can have additional module-specific config here if you want 
} 

今、あなたは、通常の.eslintrc.jsonの拡張子だけで、モジュールの設定を、引っ張ってくるeslint --config .eslintrc.modules.json --ext .jsx .を使用して、単にモジュールをlintのことができ、それが唯一の*.jsxファイルをlintのだろう。

0

私は、ルートフォルダにオプションsourceTypescriptでメインファイルを作成しました。 フォルダ内のファイルを.eslintrc.json ./front時:

{ 
    "extends": "../.eslintrc.json", 
    "parserOptions": { 
     "sourceType": "module" 
    } 
} 
関連する問題