解决文档的linter错误no-undef

问题描述 投票:33回答:1

我正在使用airbnb扩展来绘制我的React项目。现在,在我的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

我怎么解决这个问题?

javascript eslint airbnb
1个回答
94
投票

有很多方法可以解决/解决这个问题。两个关键方法是将document指定为global或将eslint-env设置为browser(您可能想要的)。您可以在配置中执行此1)in-file,2),或者甚至3)从CLI运行时。

1)档案内:

  1. 在您的文件中将环境设置为browser/* eslint-env browser */ import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render( <App />, document.getElementById('root'), );
  2. 将其添加为文件本身的全局: /* global document */ import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render( <App />, document.getElementById('root'), );

2)在eslint配置中:

  1. 在配置中将环境设置为browser{ "env": { "browser": true, "node": true } }
  2. 在配置中将其添加为全局: { "globals": { "document": false } }

3)从CLI:

  1. 使用env:eslint --env browser,node file.js
  2. 使用全局:eslint --global document file.js

资源: Specifying Globals with ESLint Specifying Environments with ESLint Specifying env with ESLint CLI Specifying globals with ESLint CLI

© www.soinside.com 2019 - 2024. All rights reserved.