标识符“foo_bar”不是驼峰式大小写

问题描述 投票:0回答:4

我尝试在 .eslintrc 中添加规则,但我得到:

ESLint:标识符“operating_days”不是驼峰式大小写。 (驼色)

enter image description here

{
    "parser": "babel-eslint",
    "extends": "airbnb",
    "plugins": ["compat"],
    "env": {
        "browser": true,
        "node": true,
        "es6": true,
        "mocha": true,
        "jest": true,
        "jasmine": true
    },
    "rules": {
        "generator-star-spacing": [0],
        "consistent-return": [0],
        "react/forbid-prop-types": [0],
        "react/jsx-filename-extension": [1, { "extensions": [".js"] }],
        "global-require": [1],
        "import/prefer-default-export": [0],
        "react/jsx-no-bind": [0],
        "react/prop-types": [0],
        "react/prefer-stateless-function": [0],
        "react/jsx-wrap-multilines": ["error", {
            "declaration": "parens-new-line",
            "assignment": "parens-new-line",
            "return": "parens-new-line",
            "arrow": "parens-new-line",
            "condition": "parens-new-line",
            "logical": "parens-new-line",
            "prop": "ignore"
        }],
        "no-else-return": [0],
        "no-script-url": 0,
        "no-restricted-syntax": [0],
        "import/no-extraneous-dependencies": [0],
        "no-use-before-define": [0],
        "jsx-a11y/no-static-element-interactions": [0],
        "jsx-a11y/no-noninteractive-element-interactions": [0],
        "jsx-a11y/click-events-have-key-events": [0],
        "jsx-a11y/anchor-is-valid": [0],
        "no-nested-ternary": [0],
        "arrow-body-style": [0],
        "import/extensions": [0],
        "no-bitwise": [0],
        "no-cond-assign": [0],
        "import/no-unresolved": [0],
        "camelcase": [
          "error", {
            "properties": "never"
          }
        ],
        "comma-dangle": ["error", {
            "arrays": "always-multiline",
            "objects": "always-multiline",
            "imports": "always-multiline",
            "exports": "always-multiline",
            "functions": "ignore"
        }],
        "object-curly-newline": [0],
        "function-paren-newline": [0],
        "no-restricted-globals": [0],
        "require-yield": [1],
        "compat/compat": "error",
      // "linebreak-style": ["error", "windows"]
    },
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true
        }
    },
    "settings": {
        "polyfills": ["fetch", "promises"]
    }
}
javascript reactjs eslint
4个回答
5
投票

这是您的整个

.eslintrc
文件,还是只是一个片段?如果是前者,看起来
.eslintrc
文件需要以大括号开头和结尾。所以尝试一下:

{
    "rules": {
        "camelcase": ["error", {"properties": "never"}]
    }
}

如果只是一个片段,您使用的是哪个版本的 ESLint?我认为在一些早期的 1.x 版本中,您使用了代表级别的数字,而不是“错误”:

{
    "rules": {
        "camelcase": [2, {"properties": "never"}]
    }
}

5
投票

这向前推进了,您现在可以灵活地

allow
某些标识符(也包括正则表达式)成为非驼峰式:

{
    "rules": {
        "camelcase": ["error", {"allow": ["aa_bb"]}]
    }
}

参见:https://eslint.org/docs/rules/camelcase#allow


1
投票

camelCase 是一种命名约定,其中复合词中的每个单词除第一个单词外均大写。软件开发人员在编写源代码时经常使用驼峰命名法。

camelCase 在编程中很有用,因为元素名称不能包含空格。驼峰命名约定使复合名称更具可读性。例如,myOneMethod 比 myonemethod 更容易阅读。

add_bb for addFor

1
投票

如果无法修改您的

eslint
配置,您可以简单地解构该属性,然后重命名该属性。

const { first_name: firstName } = data;
© www.soinside.com 2019 - 2024. All rights reserved.