You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加plugin:prettier/recommended后ng lint无限运行问题求助

解决步骤

1. 移除废弃配置项

你配置中的createDefaultProgram: true是最常见的诱因,该配置在新版@angular-eslint中已被弃用,会引发严重的性能问题,和prettier插件共同作用时极易出现无限执行的情况。
打开.eslintrc.json,删除parserOptions下的"createDefaultProgram": true行,修改后配置如下:

"parserOptions": {
  "project": [
    "tsconfig.json",
    "e2e/tsconfig.json"
  ]
},

2. 校验依赖版本兼容性

多数异常是相关依赖版本不匹配导致的,需确保eslint、@angular-eslint、prettier、eslint-config-prettier、eslint-plugin-prettier版本适配你的Angular版本:

  • 先卸载旧版本相关依赖:
npm uninstall eslint-config-prettier eslint-plugin-prettier prettier
  • 安装适配版本(以Angular 14+为例,更低版本Angular可对应降低依赖大版本号):
npm install --save-dev prettier@3 eslint-config-prettier@9 eslint-plugin-prettier@9

3. 预格式化全量文件

如果项目中存在大量不符合prettier规则的文件,lint时全量修正也可能导致假死,先手动执行一次全量格式化:

npx prettier --write .

4. 补充HTML文件的prettier适配(可选)

当前你只给TS文件添加了prettier扩展,可给HTML的override也添加对应配置,避免模板文件的规则冲突:

{
  "files": [
    "*.html"
  ],
  "extends": [
    "plugin:@angular-eslint/template/recommended",
    "plugin:prettier/recommended"
  ],
  "rules": {
    "@angular-eslint/template/eqeqeq": "off"
  }
}

5. 排查卡慢文件(可选)

如果执行完以上步骤还是异常,可运行带日志的lint命令定位问题文件:

ng lint --verbose

将输出中卡住位置对应的文件/目录添加到.eslintrc.json的ignorePatterns列表中即可。

内容的提问来源于stack exchange,提问作者San Jaisy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:36:03