Javascript ESLint:';铬';未定义(无未定义)
我将ESLint添加到我的chrome扩展项目中。我使用的ChromeAPI以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*
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