Javascript 和 ESLint 中的全局变量

问题描述 投票:0回答:2

我有多个 javascript 文件,我在一个文件中定义了一些全局变量,该变量先于其他文件加载。 因此,所有在第一个文件之后加载的文件都可以访问全局变量。 然而,ESLint 将全局变量显示为“未定义”。我不想更改 ESLint 的规则,我想找到一种优雅的方式来摆脱这些错误消息。 有什么线索吗? 谢谢

javascript variables global eslint
2个回答
177
投票

我不认为针对每个文件修改 ESLint 规则是个好主意。

您应该在

globals
.eslintrc
中定义
package.json

对于.eslintrc:

"globals": {
    "angular": true
}

对于

package.json

"eslintConfig": {
    "globals": {
        "angular": true
    }
}

检查https://eslint.org/docs/user-guide/configuring/language-options#specifying-globals


142
投票

您可以为每个文件或在您的配置中添加全局变量。 如果您不想更改配置,则必须在每个文件中添加使用的全局变量。

要在 JavaScript 文件中使用注释指定全局变量,请使用以下格式:

/* global var1, var2 */

这定义了两个全局变量,

var1
var2
。如果你想有选择地指定这些全局变量永远不应该被写入(只读),那么你可以为每个变量设置一个 false 标志:

/* global var1:false, var2:false */

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

© www.soinside.com 2019 - 2024. All rights reserved.