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

Angular 9升级至10时执行ng build出现styles.less栈溢出错误

解决方案:Angular 10 升级后 Less 编译栈溢出问题

针对你在 Angular 9 升级到 10 后执行 ng build 遇到的 Maximum call stack size exceeded 错误(出现在 Bootstrap 的 grid.less 中 .make-grid(xs) 调用),可以尝试以下几种解决办法:

  • 锁定 less-loader 兼容版本
    Angular 10 默认升级了构建链中的依赖,包括 less-loader 的版本。高版本 less-loader 对 Less 递归函数的处理逻辑变化,导致旧版 Bootstrap Less 的 .make-grid 递归触发栈溢出。你可以在 package.json 中指定 less-loader 为 5.x 版本:

    "devDependencies": {
      "less-loader": "^5.0.0"
    }
    

    执行 npm install 重新安装依赖后,再尝试构建。

  • 替换 Bootstrap 的 Less 版本为预编译 CSS
    如果不需要自定义 Bootstrap 的 Less 变量,直接改用预编译的 Bootstrap CSS 文件。在 styles.less 中替换导入语句:

    // 替换之前的 @import "bootstrap/less/bootstrap.less"
    @import "bootstrap/dist/css/bootstrap.min.css";
    

    跳过 Less 编译过程,避免递归函数引发的问题。

  • 检查是否存在重复导入
    排查 styles.less 及其他导入的 Less 文件,确认是否重复导入了 Bootstrap 的 grid 模块或整个 Bootstrap Less 文件。重复导入会导致 .make-grid 函数被多次递归调用,触发栈溢出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:22:11