在 @angular-eslint/template 中使用缩进规则

Had*_*ock 7 eslint angular angular-eslint

我有一个用 Angular 制作的项目。

我想为 Angular*.html文件设置缩进规则。

我在我的.eslintrc

{
  "files": ["*.html"],
  "extends": [
    "plugin:@angular-eslint/template/recommended"
  ],
  "rules": {
    "indent": [2, 2]
  }
}
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

TypeError: Cannot read property 'start' of undefined
Run Code Online (Sandbox Code Playgroud)

我不明白为什么。


我的全.eslintrc

TypeError: Cannot read property 'start' of undefined
Run Code Online (Sandbox Code Playgroud)

小智 0

如果您同时使用 prettier 和 eslint,则第一个的 indent 属性与最新的 indent 属性不匹配。我的建议是,如果使用 prettier,禁用 eslint 的缩进规则。

另一方面,如果您使用 eslint,则仅尝试用以下内容替换 indent 属性:

indent: [2, 2, { SwitchCase: 1}]

为什么选择 SwitchCase?

  • SwitchCase 设置为 0 时缩进 2 个空格将不会缩进与 switch 语句相关的 case 子句。
  • 将 SwitchCase 设置为 1 时缩进 2 个空格将使与 switch 语句相关的 case 子句缩进 2 个空格。
  • SwitchCase 设置为 2 时缩进 2 个空格将使与 switch 语句相关的 case 子句缩进 4 个空格。
  • SwitchCase 设置为 2 的制表符缩进将针对 switch 语句缩进 2 个制表符的 case 子句。

如果您需要有关它的一些信息:eslint docs

让我知道它是否有效。

祝你今天过得愉快。