Javascript 和 ESLint 中的全局变量

2022-08-30 04:07:09

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


答案 1

我不认为对每个文件进行 ESLint 规则的黑客攻击是一个好主意。

您应该在 或 中定义。globals.eslintrcpackage.json

对于 .eslintrc:

"globals": {
    "angular": true
}

为:package.json

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

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


答案 2

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

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

/* global var1, var2 */

这定义了两个全局变量,以及 。如果要选择性地指定永远不要写入这些全局变量(仅读取),则可以使用 false 标志设置每个变量:var1var2

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

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