[英]ESLint: 'chrome' is not defined (no-undef)
我将 ESLint 添加到我的 chrome 扩展项目中。 我正在使用以 chrome 开头的 chrome API chrome.
,但显然 eslint 指出它是错误的。
我想它应该是这样的:
"env": {
"browser": true,
"chrome": true,
"es6": true
},
但显然不是。
UPD:我认为最好的答案是添加webextensions: true
– 正如 wOxxOm 建议的那样。 因为它是一个 chrome 扩展 - chrome.
API在这里被大量使用。
否则按照其他建议添加/* global chrome */
会更好。
感谢您的回答。
您需要添加:
"env": {
// ...
"webextensions": true
}
到您的.eslintrc.json
文件或一般的 eslint 配置。
您可以在 eslint 配置文件中添加它以添加全局变量
"globals": {
"chrome": true
}
编辑:在create-react-app v4.0.0
,不再需要EXTEND_ESLINT
标志来自定义 ESLint 配置,因此在 4.0.0 版本之后不需要以下答案。
我们还将
eslint-plugin-hooks
升级到 4.0.0 版并删除了EXTEND_ESLINT
标志,因为它不再需要自定义 ESLint 配置。
我正在使用create-react-app
并发现除了定义:
# This is YAML btw
env:
# ...
webextensions: true
在我的eslint
配置(将chrome
添加为全局)中,我还必须将create-react-app
的EXTEND_ESLINT
环境变量设置为true
。 文档在这里。
有几种不同的方式来设置这个环境变量。 例如,您可以在项目文件夹的根目录中创建一个.env
文件,内容如下:
EXTEND_ESLINT=true
从文档中,我相信这是一个实验性功能,但它为eslint-loader
提供了eslint
配置。 在设置启用此之前,我必须手动评论
/* global chrome */
在每个文件中,因为构建过程没有使用我的eslint
配置,因此没有意识到我将chrome
设置为全局。
虽然这个问题没有提到create-react-app
,但我相信很多人会在与我相同的情况下来到这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.