Reactプロジェクトのリントにairbnb
拡張機能を使用しています。さて、私のindex.js
には以下があります:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
リンター言う:
no-undef 'document' is not defined.at line 8 col 3
この問題を解決するにはどうすればよいですか?
これを解決/回避する方法はいくつかあります。 2つの重要な方法は、document
をglobal
として指定するか、eslint-env
をbrowser
として設定することです(おそらく必要なことです)。これは、1)ファイル内、2)構成内、または3)CLIから実行する場合でも実行できます。
1)インファイル:
ファイル内でbrowser
として環境を設定します。
/* eslint-env browser */
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
ファイル自体にグローバルとして追加します。
/* global document */
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
2)eslint構成:
構成でbrowser
として環境を設定します。
{
"env": {
"browser": true,
"node": true
}
}
設定にグローバルとして追加します。
{
"globals": {
"document": false
}
}
3)CLIから:
Envを使用:eslint --env browser,node file.js
グローバルの使用:eslint --global document file.js
リソース:
ESLintでグローバルを指定
ESLintを使用した環境の指定
ESLint CLIでenvを指定
ESLint CLIでグローバルを指定