【问题标题】:ESLint: Unexpected property "indent" in eslintrcESLint:eslintrc 中的意外属性“缩进”
【发布时间】:2020-03-11 04:44:17
【问题描述】:

正如 here 所记录的,有一个用于缩进的 ESLint 属性,称为 indent。示例如下所示:

或者对于标签式缩进:

{
    "indent": ["error", "tab"]
}

但是,如果我将这个确切的代码粘贴到我的 .eslintrc 文件中,VS Code 会将此显示为错误:

ESLint:.eslintrc 中的 ESLint 配置无效:- 意外的顶级属性“缩进”。 .详情请查看“ESLint”输出通道。

我之前拥有的.eslintrc 文件已经有许多规则,并且这些规则没有打印错误。如果我将 "indent" 添加到该列表中,或者单独添加,它会失败。

这是在 VS Code 的 ESLint 输出通道中打印的错误和堆栈跟踪:

[Error - 10:38:55 PM] ESLint stack trace:
[Error - 10:38:55 PM] Error: ESLint configuration in .eslintrc is invalid:
    - Unexpected top-level property "indent".
    at validateConfigSchema (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/shared/config-validator.js:286:15)
    at ConfigArrayFactory._normalizeConfigData (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:469:9)
    at ConfigArrayFactory._loadConfigDataInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:445:33)
    at ConfigArrayFactory.loadInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:401:18)
    at CascadingConfigArrayFactory._loadConfigInAncestors (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:305:46)
    at CascadingConfigArrayFactory.getConfigArrayForFile (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:250:18)
    at CLIEngine.executeOnText (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cli-engine.js:860:47)
    at /home/aaronfranke/.vscode/extensions/dbaeumer.vscode-eslint-1.9.1/server/out/eslintServer.js:1:60107
    at /home/aaronfranke/.vscode/extensions/dbaeumer.vscode-eslint-1.9.1/server/out/eslintServer.js:1:61116

发生了什么事?这个选项在某种程度上无效吗?示例配置错误吗?我的ESLint extension 有问题吗? VS 代码有问题吗?我正在使用 Ubuntu 18.04 Linux 64 位和 VS Code 1.40.1,ESLint 扩展 1.9.1,eslint --versionv5.16.0

【问题讨论】:

    标签: visual-studio-code eslint indentation eslintrc


    【解决方案1】:

    不允许将此设置作为顶级属性,这意味着它必须嵌套在另一个属性中,即"rules"。所以你必须这样写:

    {
        //... other stuff ...
    
        "rules": {
            "indent": [ "error", "tab" ]
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多