web-dev-qa-db-ja.com

ESLint:.eslintrcが 'require'を認識するように設定する方法は?

私は ESLint が初めてで、ESLintを IntelliJ と正常に統合しました。

初期状態では、ESLintの統合はnodeを認識しませんでしたが、ドキュメントの基本的なレビューにより、プロジェクトフォルダーのルートに_.eslintrc_という名前の構成ファイルを作成することにより、このファイルにアクセスする設定)および_"node":true_を設定すると、ESLintはnodeを認識します(つまり、次の完全な_.eslintrc_が機能します)。

_// Contents of .eslintrc at root of project - support for Node and jQuery
{
  "env" : {
    "node" : true,
    "jquery" : true
  },
}
_

ただし、次のスクリーンショットからわかるように、ESLintはrequire()を認識しません。

ESLint does not recognize <code>require()</code>

ESLintを取得してrequire()を認識する方法の基本的な質問に対する解決策を探して、妥当な時間内に最善を尽くしました。特に、可能性のあるヒント here を見つけました。そこでは_"AMD":false_を_.eslintrc_ファイルに追加することを提案しましたが、行きません。

これは基本的なようです。 require()を認識するために_.eslintrc_を取得するにはどうすればよいですか?

(回答で、より一般的なケースをカバーする方法についての洞察を提供できれば、それも役立ちます。ありがとう!)

41
Dan Nissenbaum

問題はESLintにありません。メッセージをよく見ると、JSHintと表示されます。

ESLintを構成しようとしているので、最も簡単な解決策は、IDEからJSHintプラグインを無効にするか削除することです。

ESLintとともにJSHintを引き続き使用する場合は、次の操作を実行できます。

単一ファイルソリューション:ファイルの先頭に/* global require */を追加します。

すべてのファイルの一般的なソリューション: "node": true 行を.jshintrcに追加します。

24
Marko Grešak

.eslintrc内のAMDenvを追加すると、AMD仕様に従ってdefine()およびrequire()を使用できるようになります。

{
  "env": {
    "AMD": true
  }
}
71
Nick Avi

「AMD」:envのtrueは、AMD仕様に従ってrequire()およびdefine()をグローバル変数として定義します。

http://eslint.org/docs/user-guide/configuring#specifying-environments を参照してください

4
Fabio Marasco