我正在使用create-react-app构建React应用程序。
运行ESLint时出现以下错误:
8:3 error 'document' is not defined no-undef.
我的应用程序运行没有错误,但我在2个文件中收到此ESLint错误。
请参阅其中一个.jsx
文件和我的ESLint配置。
index.jsx:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
eslintrc.js:
module.exports = {
"extends": "airbnb",
"plugins": [
"react",
"jsx-a11y",
"import"
],
"env": {
"jest": true
}
};
我该如何解决这个问题?目前我只会忽略这两个文件......但我宁愿找到一个长期的解决方案。
答案 0 :(得分:41)
添加"browser": true
您的env
以包含全局变量(如文档,窗口等)
有关详细信息,请参阅ESLint environment documentation。
答案 1 :(得分:4)
在package.json
中,将jest的测试环境指定为"jsdom"
,如下所示:
"jest": {
"testEnvironment": "jsdom"
}
我遇到了同样的问题,对我来说效果很好。
答案 2 :(得分:3)
在eslint.rc文件中设置一个env属性,例如
{
"env": {
"browser": true,
"node": true
}
}
答案 3 :(得分:0)
如果您有.eslintrc.json
文件,请添加以下代码段。
{
...otherSettings,
"env": {
"browser": true,
"node": true
}
}
如果您没有.eslintrc.json
,则可以在package.json
文件中添加这些设置。
{
...otherSettings,
"eslintConfig": {
"globals": {
"window": true
}
}
}