如何在 ESLint 中指定我的“环境”?

cag*_*g8f 5 javascript eslint eslintrc

我目前在我的项目中使用ESLint,并将其配置为在 VSCode 中运行,并强制执行自定义规则集。到目前为止,它按预期工作,并在我的代码中标记发生违规的行。我现在需要指定是environment(如该问题browser的解决方案中所建议的)。我究竟该如何做到这一点,同时保持 ESLint 的其他所有内容按原样工作?

  • 该 GitHub 问题表明我需要编辑我的.eslintrc文件。但我在项目的根目录中没有看到任何此类文件。我确实看到了.eslint几个不同依赖项中的文件,例如

C:\Users\snarl\development-snarl\development-wordpress\linting-wordpress\node_modules\is-callable

我可能是错的,但这些似乎并不相关。

  • .eslintrc.json我尝试在项目的根目录中创建一个新文件,然后添加到该文件中:

{ "env": { "browser": true } }

但是当我这样做并在 VSCode 中重新检查 ESLint 时,它停止标记我的自定义规则集中的规则(示例),并且实际上标记了一个新规则(屏幕截图)。这似乎完全取代了我现有的一些 ESLint 设置,而不是补充它们。

谢谢。

cag*_*g8f 5

我向 ESLint Google Group 提出了这个问题(请参阅此处),并收到了包含答案的回复。如果我的项目根目录中没有 ESLint 配置文件,ESLint 会回退并在用户根目录中查找一个。我检查了我计算机上的该目录,那里确实有一个 ESLint 配置文件(.eslint.json)。如果我在项目的根目录中创建一个新的配置文件,它将取代用户根目录中的配置文件。所以解决方案是将配置文件从我的用户根目录移动到我的项目的根目录,然后向其中添加 env 行:

"env": {
    "browser": true,
    "node": true
}
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。之后,VSCode 中的 ESLint 继续使用相同的自定义规则集对我的文件进行 lint 检查。此外,ESLint 似乎明白这一点,env尽管browser. 我没有明确检查这一点。我这么说是因为之前报告的 ESLint 错误不再报告。我的假设是发生这种情况是因为env已正确设置为browser(根据此问题)。