ESLint 报错:'document' is not defined

阅读时长 2 分钟读完

在前端开发中,我们经常会使用 ESLint 工具来检查代码的规范性和错误,但有时候会遇到 'document' is not defined 这样的错误提示,这是怎么回事呢?

问题原因

这个错误提示的原因是因为在 ESLint 的默认配置中,它不认识浏览器环境中的全局变量,比如 window、document 等。所以当我们在代码中使用这些全局变量时,ESLint 就会报错。

解决方法

解决这个问题的方法有两种。

方案一:使用插件

我们可以使用 eslint-plugin-browser 这个插件来解决这个问题。这个插件可以让 ESLint 知道浏览器环境中的全局变量,这样就不会报错了。

首先,我们需要安装这个插件:

然后在 .eslintrc.js 配置文件中添加插件:

接着,我们可以在代码中使用浏览器环境中的全局变量了,比如:

方案二:使用全局变量声明

另外一种解决方法是使用全局变量声明,在代码中告诉 ESLint 这些变量是全局变量,不要报错。

我们可以在 .eslintrc.js 配置文件中添加 globals 属性,声明我们要使用的全局变量:

-- -------------------- ---- -------
-
  ---------- -
    --------- -----
    ----------- ----
  --
  -------- -
    -- -------
  -
-

这样,在代码中使用浏览器环境中的全局变量时,ESLint 就不会报错了,比如:

总结

ESLint 报错 'document' is not defined 是因为默认配置不认识浏览器环境中的全局变量,我们可以使用插件或全局变量声明来解决这个问题。正确地处理这个问题可以让我们写出更规范、更健壮的代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65bb3c21add4f0e0ff3e5e1e

纠错
反馈