如何在 ESLint 中指定我的 'environment'?

How to specify my 'environment' in ESLint?

我目前正在使用 ESLint in my project, and have configured it to run inside VSCode, and enforce a custom ruleset. So far it is working as expected, and flagging lines in my code where violations occur. I now need to specify that the environment is browser (as suggested in the solution to this issue)。我究竟该怎么做,同时让 ESLint 的其他一切保持原样?

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

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

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

但是当我这样做并重新检查 VSCode 中的 ESLint 时,它停止在我的自定义规则集中标记规则 (examples), and actually flagged a new rule (screenshot)。这似乎完全取代了我现有的一些 ESLint 设置,而不是补充它们。

谢谢。

我向 ESLint Google 小组 (see here) 提出了这个问题,并收到了带有答案的回复。如果我项目的根目录中没有 ESLint 配置文件,ESLint 会回退并在用户的根目录中寻找一个。我检查了我电脑上的那个目录,那里确实有一个 ESLint 配置文件 (.eslint.json)。如果我在项目的根目录中创建一个新的配置文件,它将取代用户根目录中的配置文件。所以解决方案是将配置文件从我的用户根目录移动到我的项目的根目录,然后在其中添加 env 行:

"env": {
    "browser": true,
    "node": true
}

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