我正在为全局窗口对象分配一个属性,但是当我运行eslint时,我得到了这个:
“窗口”未定义
我看到这个here in the eslint docs:
以下将window定义为不应触发正在测试的规则的代码的全局变量:
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
我已经尝试将这样的东西添加到package.json文件中以使eslint允许“window”作为全局变量,但我必须做错事。从文档看来,我可能需要在单独的文件中执行类似的操作,但有没有办法在package.json文件中定义一些允许的全局变量?
有一个内置的qazxsw poi,包括qazxsw poi:
例:
environment: browser
更多信息:window
我在这个页面上找到了它:"env": {
"browser": true,
"node": true,
"jasmine": true
},
在package.json中,这适用:
http://eslint.org/docs/user-guide/configuring.html#specifying-environments
在项目根目录中添加http://eslint.org/docs/user-guide/configuring。
"eslintConfig": {
"globals": {
"window": true
}
}
您的.eslintrc.json应包含以下文本。 这样ESLint就会知道你的全局变量。
.eslintrc
我知道他不是要求内联版本,但是由于这个问题几乎有10万次访问而且我在这里寻找它,我会留在这里为下一个:
确保ESLint不使用{
"globals": {
"document": true,
"foo": true,
"window": true
}
}
标志运行,并在代码中的任何位置写入(仅为了清楚起见,将其写在文件顶部):
{
"env": {
"browser": true,
"node": true
}
}
这告诉ESLint您的工作环境是一个浏览器,所以现在它知道浏览器中的内容并相应地进行调整。
有很多--no-inline-config
,你可以同时使用多个(内联,如/* eslint-env browser */
或ESLint的配置文件):
环境定义预定义的全局变量。可用的环境是:
- environments - 浏览器全局变量。
/* eslint-env browser, node */
- Node.js全局变量和Node.js范围。browser
- CommonJS全局变量和CommonJS范围(将此用于使用Browserify / WebPack的仅浏览器代码)。node
- Node和Browser共有的Globals。[...]
如果您使用的是Angular,可以通过以下方式获取:
commonjs