Javascript ESLint:';铬';未定义(无未定义)

Javascript ESLint:';铬';未定义(无未定义),javascript,browser,google-chrome-extension,eslint,Javascript,Browser,Google Chrome Extension,Eslint,我将ESLint添加到我的chrome扩展项目中。我使用的ChromeAPI以chrome.开头,但显然eslint指出它是错误的 我想应该是这样的: "env": { "browser": true, "chrome": true, "es6": true }, 但显然不是 uPd: >我认为最好的答案是添加 WebExp:Trime——正如WoxxOM建议的那样。因为它是一个chrome扩展-chrome。API在这里被大量使用 否则,按照其他建议添加/*全局chrome*

我将ESLint添加到我的chrome扩展项目中。我使用的ChromeAPI以
chrome.
开头,但显然eslint指出它是错误的

我想应该是这样的:

"env": {
  "browser": true,
  "chrome": true,
  "es6": true
},
但显然不是


<强> uPd:<强> >我认为最好的答案是添加<代码> WebExp:Trime——正如WoxxOM建议的那样。因为它是一个chrome扩展-

chrome。
API在这里被大量使用

否则,按照其他建议添加
/*全局chrome*/
,效果会更好


感谢您的回答。

如评论中所述,没有
chrome
环境,您可以在eslint中找到有关可配置环境的更多信息


可以将每个文件的全局变量指定为顶行注释,也可以在配置文件中指定,请参阅。您还可以编写自定义Eslint Chrome插件,设置全局和解析器选项(这是环境为您所做的),并将其导入配置文件

您可以将其添加到eslint配置文件中,以添加全局变量

"globals": {
    "chrome": true
}
您需要添加:

"env": {
    // ...
    "webextensions": true
}
一般来说,
.eslintrc.json
文件或eslint配置。

编辑:在中,定制eslint配置不再需要
扩展\u eslint
标志,因此在4.0.0版之后不需要以下答案

我们还将
eslint插件hooks
升级到4.0.0版,并删除了
EXTEND\u eslint
标志,因为不再需要自定义eslint配置


我正在使用
create react app
,发现除了定义:

#这里是YAML btw
环境:
# ...
webextensions:正确
在我的
eslint
config(将
chrome
添加为全局变量)中,我还必须将
create react app
EXTEND\u eslint
环境变量设置为
true

设置此环境变量有几种不同的方法。例如,您可以在项目文件夹的根目录中创建一个
.env
文件,其内容如下:

EXTEND\u ESLINT=true
从文档中,我相信这是一个实验性的特性,但它为
eslint加载程序提供了
eslint
配置。在设置启用此功能之前,我必须手动对

/* global chrome */
在每个文件中,由于构建过程没有使用我的
eslint
config,因此没有认识到我将
chrome
设置为全局


虽然这个问题没有提到创建react应用程序,但我相信很多人都会在和我一样的情况下提出这个问题。

我认为没有chrome env。您是否尝试过
/*global chrome*/
webextensions:true
eslintConfig中的“webextensions”键对我不起作用。。这是我在package.json中的eslintConfig:
“eslintConfig”:{“extensions”:“react app”,“env”:{“webextensions”:true},
知道为什么吗?你能把
env
“browser”:true,
也添加进去吗?在webextensions旁边。仍然没有运气<代码>“eslintConfig”:{“extends”:“react app”,“env”:{“webextensions”:true,“browser”:true}},
到目前为止,唯一适合我的解决方案是在使用“chrome”的js文件顶部添加
/*全局chrome*/
。请确保至少使用了ESLint 1.7.0