首页 > 解决方案 > 为什么 ESLint 看不到 JS 文件的所有引号问题?

问题描述

问题: ESLint 在我使用 React 的 JS 文件中没有看到所有引号问题。

预期:看到 ESLint 检查我的错误并将它们显示给我。

我尝试过的事情:我更改了一些引号以查看差异,并且我看到对于导入 ESLint 正在工作,但在组件中却没有。我检查了我的规则,并且有“引号”规则。我检查了我的错误是否准确,只是为了引用,我发现没有任何问题。


我将附上一张有问题的图片:


在此处输入图像描述


如您所见,第一行一切正常,因为我放了双引号。然后在第二行和第三行有简单的引号,ESLint 可以看到它们。可以看出,ESLint 只能看到引号问题,仅此而已。

然后,问题就来了。在 'flex-container' 中,它看不到必须有双引号,它无法解决这个问题。这不仅仅是一个例外,因为在最后一行也是单引号,它看不到。

我的 .eslintrc.json 文件:

{
    "env": {
        "browser": true,
        "es2021": true,
        "node": true,
        "amd": true,
        "jquery": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
    "parserOptions": {
        "ecmaVersion": 12,
        "sourceType": "module"
    },
    "rules": {
        "react/prop-types": "off",
        "react/jsx-uses-react": "warn",
        "react/react-in-jsx-scope": "off",
        "quotes": [
            "error",
            "double",
            {
                "avoidEscape": true
            }
        ]
    },
    "globals": {
        "React": true,
        "ReactDOM": true,
        "ReactRedux": true,
        "ReactRouterDOM": true,
        "Redux": true
    },
    "settings": {
        "react": {
            "version": "detect"
        }
    }
}

在那里我更改了规则的一些属性,将“错误”而不是“关闭”或“警告”,但它是相同的。

我能做些什么?

标签: javascriptreactjsvisual-studio-codeeslint

解决方案


所以,ESLint 作者的回答是:

quotes在这种情况下,该规则按预期工作,因为它只检查字符串文字。

对于 JSX 属性,您可以使用jsx-quotes规则,就像在这个演示中一样。”


推荐阅读