# global-strict
在全局范围内要求或禁止严格模式指令。
(已删除)此规则在 ESLint v1.0 中已删除,并由 严格
规则替换。新规则中的 "global"
选项与删除的规则最相似。
通过在代码中使用以下编译指示启用严格模式:
"use strict";
当全局使用时,如本例所示,严格模式杂注适用于单个文件中的所有代码。如果在将脚本提供给浏览器之前将它们连接在一起,这可能会很危险。例如,如果您有一个在严格模式下运行的文件并将该文件与 jQuery 连接,那么严格模式现在也适用于 jQuery,并且可能会导致错误。
但是,如果您使用的是 Node.js,您可能希望全局开启严格模式。在 Node.js 项目中,文件通常不会串联在一起,因此意外应用严格模式的风险很小。此外,由于 Node.js 中的每个文件都有自己的范围,全局严格模式只影响放置它的单个文件。
# 规则详情
此规则要求或禁止由全局范围内的 "use strict"
pragma 调用的全局严格模式。
以下模式全局处于严格模式下,使用 "always"
选项被认为有效,使用 "never"
选项时会发出警告。
"use strict";
function foo() {
return true;
}
以下模式仅将严格模式应用于函数,因此对 "never"
选项有效,但对 "always"
选项有问题。
function foo() {
"use strict";
return true;
}
(function() {
"use strict";
// other code
}());
# 选项
"global-strict": ["error", "always"]
要求每个文件都有一个顶级 "use strict"
语句。
"global-strict": ["error", "never"]
每当在全局范围内使用 "use strict"
时发出警告,这样它可能会污染连接的文件。
# 何时不使用
当一个项目可能与严格模式代码并排使用非严格模式代码并且文件未连接时,可以根据个人情况决定使用全局严格模式,从而无需此规则。