Angular16构建报错:Maximum call stack size exceeded 排查求助
Angular 16构建报错:Maximum call stack size exceeded(Madge未检测到循环依赖)
以下是针对该问题的可行排查和解决步骤:
- 清理构建缓存
执行以下操作彻底清理缓存:ng cache clean rm -rf node_modules/.cache npm install ng build - 检查组件模板的递归引用
Ivy编译器对模板中的递归结构敏感,比如组件模板直接/间接引用自身组件,这种情况Madge无法检测到。逐一检查近期修改的组件模板,移除不必要的递归嵌套或添加递归终止条件。 - 排查第三方依赖问题
Madge仅扫描项目源码,第三方依赖内部的循环依赖可能触发栈溢出。尝试临时移除新增的第三方包,重新构建验证是否恢复正常,定位到问题包后更换替代方案或升级该包版本。 - 调整Node.js内存栈大小
在package.json的build脚本中增加内存分配:
之后执行"scripts": { "build": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng build" }npm run build尝试构建。 - 梳理NgModule引用关系
手动排查模块间的导入导出链,是否存在间接循环引用(比如ModuleA → ModuleB → ModuleC → ModuleA),调整模块结构打破循环。
内容的提问来源于stack exchange,提问作者WastedxBusted
相关产品推荐
相关产品推荐

