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

Angular19独立应用未使用root注入服务未被摇树优化致包体积过大

Angular 19独立应用摇树优化异常:未使用的根注入服务未被移除

核心问题

Angular 19独立式项目中,API客户端文件定义了100余个标记为providedIn: 'root'的@Injectable服务,但实际仅用到3-4个。生产构建后,main.js仍包含所有未使用的服务,导致包体积显著增大。

跨版本对比(Angular 17 NgModule架构)

两款应用使用NSwag Studio生成的完全相同的API客户端代码,但摇树优化表现截然不同:

  • Angular 17 NgModule应用:摇树优化正常工作,未被使用的服务会被彻底排除出最终产物,只有显式注入的服务才会出现在main.js中。

验证测试结果

在API客户端文件中新增模拟服务后,执行生产构建:

  • Angular 17 NgModule应用:未注入的模拟服务不会被打包;仅当显式注入该服务时,才会被包含进产物。
  • Angular 19独立应用:无论是否注入模拟服务,所有服务(包括新增的模拟服务)都会被打包进main.js。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:02:03