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

如何识别Angular应用中未使用的库与peer dependencies?

识别Angular项目未使用依赖及Peer依赖的方法

通用依赖扫描工具

  • 首先使用depcheck工具做全量扫描,这是前端项目通用的未使用依赖识别工具:
    1. 全局安装:npm install -g depcheck
    2. 在Angular项目根目录直接执行depcheck命令
    3. 工具会自动输出三类结果:未使用的生产依赖、未使用的开发依赖、项目用到但未在package.json声明的缺失依赖
  • 注意事项:depcheck对Angular项目中的特殊引入场景存在一定误判概率,包括angular.json中配置的全局样式/脚本引入、仅通过动态import加载的依赖、仅在模块forRoot/forChild方法中注册未显式调用变量的依赖,扫描结果需要手动二次核对。

Peer依赖专属识别方法

  • 先执行npm ls --peer(npm环境)或yarn list --peer(yarn环境)打印项目所有顶层及嵌套的Peer依赖列表,筛选出直接声明在你项目package.json中的Peer依赖
  • 结合上面depcheck的扫描结果,先移除所有已被判定为未使用的主库对应的Peer依赖:比如主库@angular/material已被识别为未使用,它关联的Peer依赖@angular/cdk、@angular/animations等如果没有被其他库依赖,也可以同步移除
  • 对独立声明的Peer依赖,全局搜索项目src目录下所有.ts、.html文件中是否存在import 'xxx'、import * as xx from 'xxx'类的引入语句,无匹配结果的即可判定为未使用
  • 清理完成后执行npm prune命令,自动移除所有未被项目任何依赖引用的嵌套冗余包

校验规则(避免误删)

  • 每次修改package.json删除依赖后,必须执行ng build --prod和全量单元测试、E2E测试,确认项目构建和运行逻辑无异常
  • 如果是Monorepo结构的Angular项目,需要扫描所有子项目的代码目录,不能仅校验根目录代码
  • 针对eslint、stylelint、打包插件类的开发依赖,需要额外核对angular.json、package.json的scripts字段是否有调用,这类仅在构建环节用到的依赖大概率会被depcheck判定为未使用,不要直接删除

内容的提问来源于stack exchange,提问作者Gavishiddappa Gadagi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:06:12