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

Angular 7集成ng-recaptcha执行ng build --prod生产构建报错如何解决?

问题根因

该错误是Angular 7配套的@angular-devkit/build-optimizer依赖版本过旧,无法识别ng-recaptcha编译输出的装饰器元数据格式导致的。ng serve调试模式不会启用build-optimizer优化逻辑,因此运行正常,而生产构建默认开启该优化,所以触发报错。

解决方案

方案一:安装Angular 7匹配的ng-recaptcha版本(优先推荐)

之前更换版本无效大概率是本地npm缓存、lock文件锁定了旧的依赖文件导致,按以下步骤操作:

  • 先删除项目根目录下的node_modules文件夹、package-lock.json(yarn环境对应删除yarn.lock)文件
  • 执行命令安装适配Angular 7的ng-recaptcha指定版本:
npm i ng-recaptcha@6.1.0 --save
  • 重新执行ng build --prod命令验证构建结果即可

方案二:禁用build-optimizer优化(兜底方案)

如果方案一依旧无法解决,可以通过关闭生产构建的build-optimizer优化规避该问题,该操作仅会让最终构建包体积略微增大,不会影响功能运行:

  • 打开项目根目录的angular.json配置文件
  • 定位到配置节点:projects -> 你的项目名称 -> architect -> build -> configurations -> production
  • 将节点下的buildOptimizer属性值修改为false
  • 保存配置后重新执行ng build --prod即可完成构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:27:01