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

如何在Angular14的Serve过程中禁用代码压缩混淆?

解决Angular 14 Serve时代码压缩/混淆导致类名重命名的问题

要禁用Angular 14开发服务(ng serve)过程中的所有压缩、混淆操作,直接修改项目配置即可,步骤如下:

  • 打开项目根目录下的angular.json文件
  • 找到projects -> [你的项目名称] -> architect -> serve -> configurations -> development节点(若使用默认serve配置,直接查看serve下的options)
  • 添加或修改以下配置项,强制关闭所有优化和混淆逻辑:
    "optimization": false,
    "buildOptimizer": false,
    "vendorChunk": true,
    "extractLicenses": false,
    "sourceMap": true,
    "namedChunks": true
    
  • 保存配置后,重新执行ng serve启动开发服务

关键配置说明

  • optimization: false:彻底关闭代码压缩、混淆等所有优化操作
  • buildOptimizer: false:禁用Angular专属的构建优化,避免类名被自动重命名
  • namedChunks: true:保留原始代码块名称,方便调试时定位模块
  • sourceMap: true:生成源映射文件,让错误信息直接关联到你的原始代码行

禁用压缩后,你遇到的NullInjectorError: No provider for Tt!错误中的Tt会显示为真实的类/服务名称,此时就能快速定位到哪个依赖没有在模块的providers数组中声明,或是忘记给服务添加@Injectable({ providedIn: 'root' })装饰器。

内容的提问来源于stack exchange,提问作者Václav Mikeska

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:41:32