我当前在项目中使用ESLint,并将其配置为在VSCode中运行,并实现自定义规则集。到目前为止,它按预期工作,并且在我的代码中标记了发生冲突的行。现在,我需要指定environmentbrowser(如this issue解决方案中所建议)。我该怎么做,却保持ESLint的其他所有功能不变?

  • 该GitHub问题表明我需要编辑.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似乎理解envbrowser.,尽管我没有明确检查。我之所以这样说是因为不再报告以前报告的ESLint错误。我的假设是发生这种情况,因为env已正确设置为browser(每个this issue对应)。

    关于javascript - 如何在ESLint中指定我的 'environment'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59644872/

    10-12 03:47
    查看更多