我当前在项目中使用ESLint,并将其配置为在VSCode中运行,并实现自定义规则集。到目前为止,它按预期工作,并且在我的代码中标记了发生冲突的行。现在,我需要指定environment
为browser
(如this issue解决方案中所建议)。我该怎么做,却保持ESLint的其他所有功能不变?
.eslintrc
文件。但我在项目的根目录中看不到任何此类文件。我确实看到.eslint
文件存在几种不同的依赖关系,例如C:\Users\snarl\development-snarl\development-wordpress\linting-wordpress\node_modules\is-callable
我可能是错的,但这些似乎无关。
.eslintrc.json
,并将其添加到该文件中:{ "env": { "browser": true } }
但是,当我这样做时,并在VSCode中重新检查了ESLint时,它停止标记我自定义规则集中的规则(examples),并实际上标记了一个新规则(screenshot)。这似乎完全取代了我现有的某些ESLint设置,而不是对其进行补充。
谢谢。
最佳答案
我将此问题提交给了ESLint Google组(see here),并收到了包含答案的答复。如果项目的根目录中没有ESLint配置文件,则ESLint将回退并在用户的根目录中查找一个。我在计算机上检查了该目录,的确存在一个ESLint配置文件(.eslint.json)。如果在项目的根目录中创建一个新的配置文件,它将取代用户根目录中的配置文件。因此,解决方案是将配置文件从用户根目录移动到项目的根目录,然后向其中添加env行:
"env": {
"browser": true,
"node": true
}
那解决了我的问题。之后,VSCode中的ESLint使用相同的自定义规则集继续对我的文件进行整理。此外,ESLint似乎理解
env
是browser.
,尽管我没有明确检查。我之所以这样说是因为不再报告以前报告的ESLint错误。我的假设是发生这种情况,因为env
已正确设置为browser
(每个this issue对应)。关于javascript - 如何在ESLint中指定我的 'environment'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59644872/