no-restricted-globals
禁用指定的全局变量
如果您想允许一组全局变量,但仍然想禁用其中一些,那么禁用特定全局变量的用法可能很有用。
例如,早期的 Internet Explorer 版本将当前的 DOM 事件公开为全局变量 event
,但是长期以来,使用此变量一直被认为是糟糕的做法。限制此变量将确保此变量不会在浏览器代码中使用。
规则详情
此规则允许您指定您不想在应用程序中使用的全局变量名称。
选项
此规则接受字符串列表,其中每个字符串都是要限制的全局变量
{
"rules": {
"no-restricted-globals": ["error", "event", "fdescribe"]
}
}
或者,该规则也接受对象,其中指定了全局名称和可选的自定义消息
{
"rules": {
"no-restricted-globals": [
"error",
{
"name": "event",
"message": "Use local parameter instead."
},
{
"name": "fdescribe",
"message": "Do not commit fdescribe. Use describe instead."
}
]
}
}
示例:针对示例 "event", "fdescribe"
全局变量名称的错误代码
在 Playground 中打开
/*global event, fdescribe*/
/*eslint no-restricted-globals: ["error", "event", "fdescribe"]*/
function onClick() {
console.log();
}
("foo", function() {
});
示例:针对示例 "event"
全局变量名称的正确代码
在 Playground 中打开
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/
import event from "event-module";
在 Playground 中打开
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/
const event = 1;
示例:针对示例 "event"
全局变量名称以及自定义错误消息的错误代码
在 Playground 中打开
/*global event*/
/* eslint no-restricted-globals: ["error", { name: "event", message: "Use local parameter instead." }] */
function onClick() {
console.log(); // Unexpected global variable 'event'. Use local parameter instead.
}
相关规则
版本
此规则在 ESLint v2.3.0 中引入。