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

Angular构建报错:Maximum call stack size exceeded问题咨询

Angular构建时“Maximum call stack size exceeded”错误的解决方法

错误信息

./src/main.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Error: Maximum call stack size exceeded

解决步骤

  • 清理项目缓存与依赖
    执行以下命令彻底清理缓存和依赖,重新安装:

    ng cache clean
    rm -rf node_modules package-lock.json yarn.lock
    npm install
    

    Windows系统替换为:

    ng cache clean
    rmdir /s /q node_modules
    del package-lock.json yarn.lock
    npm install
    
  • 排查循环引用
    栈溢出最常见的原因是模块/组件间的循环引用,比如A模块导入B模块,B模块又反向导入A模块。检查AppModule的imports、declarations中涉及的所有组件、模块,逐一排查导入关系是否存在闭环。

  • 增大Node.js内存分配
    在package.json的scripts中修改build命令,增加Node栈大小参数:

    "scripts": {
      "build": "node --max-old-space-size=8192 ./node_modules/@angular/cli/bin/ng build"
    }
    

    该方法通过提升Node的内存上限缓解栈溢出,但无法解决循环引用等根源问题,仅作为临时方案。

  • 临时禁用Ivy编译器
    若怀疑是Ivy兼容性问题,可在tsconfig.json中禁用Ivy:

    "angularCompilerOptions": {
      "enableIvy": false
    }
    

    注意:Angular 13及以上版本默认启用Ivy,禁用后可能无法使用部分新特性,仅用于排查问题。

  • 检查第三方依赖
    排查近期新增的第三方库,尝试更新到最新版本,或临时移除该依赖后重新构建,确认是否是第三方库导致的循环引用或兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:32:06