2017-05-06 2 views
1

私はIntellij IDEAを使ってNode.jsアプリケーションを開発しています。 私はフロントエンドでes5を、バックエンドでes6を使用しています。intellijの複数ECMAスクリプトバージョン

フォルダごとにECMAScriptレベルを定義する方法はありますか?複数のECMAScriptバージョンが使用されている場合は

おかげ

+0

フォルダーごとに異なる.eslintrcがあります。 – estus

+0

これはeslintで動作しますが、フロントエンドに 'letやconst'の代わりに' var 'のようなIntellijエラーが出ます。 – LandoR

+0

そのためのルールもあります。 http://eslint.org/docs/rules/no-var。私の知る限り、IDEはそのためにeslintに依存しています。 – estus

答えて

1

は、その後、共通分母は、プロジェクト、ECMAScript 6のために選ばれるべきです。

JetBrainsのIDEが大きく異なる.eslintrc構成は、フォルダごとに設けられたバックエンドのためのフロントエンドのために、すなわち

{ 
    "env": { 
     "es6": false, 
     ... 
    }, 
    "extends": "eslint:recommended", 
    "rules": { 
     "no-var": 0, 
     ... 
    } 
} 

、及び

{ 
    "env": { 
     "es6": true, 
     ... 
    }, 
    "extends": "eslint:recommended", 
    "rules": { 
     "no-var": 1, 
     ... 
    } 
} 

することができ、リンティングのためESLintに依存しています。

この場合、ESLintルールに干渉するすべての検査は、var used instead of let or constのようにdisabledとなっています。

+1

これは正解ではなく、元の質問はESLintではなくWebstorm自身の点検に関するものでした。 letやconstの代わりに 'var 'のような検査が唯一の問題である場合、解決策は検査スコープを設定することです。しかし、検査を無効にするかスコープを設定しても、JavaScriptバージョンが「ES5」に設定されたプロジェクトでES6構文を使用すると構文エラーを取り除くのに役立ちません。例えば、 – lena

+0

@lenaユーザーが持っている問題、 1つのプロジェクトで異なるESバージョンとルールセットを持ついくつかのルーツ私はこれを今のところどうやって行うことができるかを信じています。そして、私は、IDE自体が少なくともいくつかの点検では内部的にESLintを使用していると感じています。 'var used ... '交差するルールの検査の代わりにESLintに頼って落とし穴があるかどうかはわかりませんが、私は何も見ていません。私はあなたの答えが削除された理由を知らない、それは問題を助けることはありませんが、質問に正確に答えます。 – estus

+1

IDEがESLintを内部的に使用していないことを私は確信できます(ただし、ESLintの統合によって実行できます)。私が言及したように、ESLintの設定は組み込みの点検/レクサーの問題を助けません – lena

関連する問題