我正在为全局窗口对象分配一个属性,但是当我运行eslint时,我得到了这个:
"窗口"未定义
我在eslint docs中看到了这个:
以下将window定义为不应触发正在测试的规则的代码的全局变量:
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
Run Code Online (Sandbox Code Playgroud)
我已经尝试将这样的东西添加到package.json文件中以使eslint允许"window"作为全局变量,但我必须做错事.从文档看来,我可能需要在单独的文件中执行类似的操作,但有没有办法在package.json文件中定义一些允许的全局变量?
Lao*_*jin 285
内置environment: browser包括window:
例:
"env": {
"browser": true,
"node": true,
"jasmine": true
},
Run Code Online (Sandbox Code Playgroud)
更多信息:http://eslint.org/docs/user-guide/configuring.html#specifying-environments
che*_*n99 98
我在这个页面上找到了它:http://eslint.org/docs/user-guide/configuring
在package.json中,这适用:
"eslintConfig": {
"globals": {
"window": true
}
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*eck 57
添加.eslintrc项目根目录.
{
"globals": {
"document": true,
"foo": true,
"window": true
}
}
Run Code Online (Sandbox Code Playgroud)
Ser*_*eev 42
您的.eslintrc.json应包含以下文本.
这样ESLint就会知道你的全局变量.
{
"env": {
"browser": true,
"node": true
}
}
Run Code Online (Sandbox Code Playgroud)
我知道他不是要内联版本。但是由于这个问题将近10万次访问,而我是来这里寻找的,因此我将其留给下一个编码员:
确保ESLint没有与该--no-inline-config标志一起运行(如果听起来不太熟悉,那么您可能会很高兴)。然后,将其写入您的代码中(为清楚起见和约定,将其写在文件顶部):
/* eslint-env browser */
Run Code Online (Sandbox Code Playgroud)
这告诉ESLint您的工作环境是浏览器,因此现在它知道浏览器中有什么,并相应地进行了调整。
/* eslint-env browser, node */
Run Code Online (Sandbox Code Playgroud)
或在您的ESLint的配置文件中。
从他们的文档:
环境定义了预定义的全局变量。可用环境为:
browser-浏览器全局变量。node-Node.js全局变量和Node.js作用域。commonjs-CommonJS全局变量和CommonJS作用域(将其用于使用Browserify / WebPack的仅浏览器代码)。shared-node-browser-节点和浏览器通用的全局变量。[...]
除了环境之外,您还可以使它忽略几乎所有您想要的东西。如果它警告您有关使用的信息,console.log()但仍然需要,请内联:
/* eslint-disable no-console */
Run Code Online (Sandbox Code Playgroud)
您可以查看所有规则的列表,包括为获得最佳编码实践而推荐的规则。
| 归档时间: |
|
| 查看次数: |
100099 次 |
| 最近记录: |