我使用airbnb
扩展来绘制我的React Project。现在,在index.js
我有:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<App />,
document.getElementById('root'),
);
linter说:
no-undef 'document' is not defined.at line 8 col 3
我该如何解决这个问题?
答案 0 :(得分:97)
有很多方法可以解决/解决这个问题。两种主要方法是将document
指定为global
或将eslint-env
设置为browser
(您可能想要的)。您可以在配置中执行此1)in-file,2),或者从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
资源:
Specifying Globals with ESLint
Specifying Environments with ESLint
Specifying env with ESLint CLI
Specifying globals with ESLint CLI