解决文档的 linter 错误 no-undef

Posted

技术标签:

【中文标题】解决文档的 linter 错误 no-undef【英文标题】:Solving linter error no-undef for document 【发布时间】:2017-06-11 00:21:13 【问题描述】:

我正在使用 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

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

有很多方法可以解决/解决这个问题。两种关键方法是将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:

    使用环境:eslint --env browser,node file.js

    使用全局变量:eslint --global document file.js

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

【讨论】:

以上是关于解决文档的 linter 错误 no-undef的主要内容,如果未能解决你的问题,请参考以下文章

VSlin的Python linter认为从文件夹中另一个文件的导入是错误

Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法

如何修复“仅在 ES6 中可用”的 linter 错误?

如何修复 linter 警告“未检查错误返回值”?

“找不到模块 './style' 或其相应的类型声明”错误,打字稿 linter

typescript linter 在尝试制作 polyfill 时触发错误