Angular默认配置下ESLint规则不生效,需手动添加所有规则吗?
Angular 14从TSLint迁移ESLint后规则配置问题解答
核心结论:不需要手动添加所有规则
你不用逐个手动添加所有代码检查规则,通过继承更全面的ESLint规则集,就能覆盖分号、全等判断这类通用代码规范场景。
问题原因
当前你的.eslintrc.json仅继承了plugin:@angular-eslint/recommended,这个规则集只聚焦Angular框架特有的规范(比如组件/指令选择器命名),不包含JavaScript/TypeScript通用的语法质量规则,所以删除分号、用==代替===这类操作不会触发提示。
解决方法:补充继承通用规则集
在TypeScript文件的配置区块中,给extends数组添加基础ESLint推荐规则和TypeScript ESLint推荐规则,就能自动获得通用代码检查能力:
修改后的.eslintrc.json中TypeScript配置段的extends部分如下:
"extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates" ]
添加后,分号缺失、使用==而非===这类问题会自动触发ESLint提示,无需手动逐个配置规则。
按需自定义规则
如果继承的规则集里有不符合团队规范的内容,你仍可以在rules区块中单独覆盖。比如你之前添加的semi规则,若继承的规则默认配置不符合需求,就可以手动指定"semi": [2, "always"]来覆盖原有规则。
内容的提问来源于stack exchange,提问作者mrapi
相关产品推荐
相关产品推荐

