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

React应用构建时JavaScript堆内存不足问题求助

React构建时JavaScript堆内存不足的解决方法(Bitbucket+AWS部署场景)

你的核心问题是max_old_space_size参数的传递方式错误——直接加在npm run build后面的参数是传给npm的,不会被Node.js进程识别,所以内存设置根本没生效。

一、修正脚本中的内存配置

把内存参数通过NODE_OPTIONS环境变量传递,这是Node.js识别内存设置的正确方式,修改后的脚本如下:

"scripts": {
  ...
  "build:dev": "REACT_APP_ENV=development NODE_OPTIONS=\"--max_old_space_size=6000\" npm run build"
}

Bitbucket流水线默认用Linux容器,上述写法适用;如果是Windows环境,去掉引号即可:NODE_OPTIONS=--max_old_space_size=6000。

二、检查Bitbucket流水线的容器内存

即使设置了Node的内存上限,如果Bitbucket流水线的容器本身内存不足,还是会触发堆溢出。你可以在bitbucket-pipelines.yml中调整实例大小,比如设置为2倍或4倍内存的实例:

pipelines:
  default:
    - step:
        size: 2x # 可选值:1x(默认)、2x、4x
        script:
          - npm run build:dev
          - # 后续推送S3、配置Cloudfront的命令

三、额外优化方向

如果以上操作后仍有问题,可以从项目本身入手:

  • 清理冗余依赖:用npm ls排查大体积或重复的依赖,移除无用包
  • 优化构建配置:如果是Create React App项目,确保tree shaking已启用(默认开启),或升级到最新版本的CRA,其内置的webpack、babel有更好的内存优化
  • 重置依赖:执行npm cache clean --force && rm -rf node_modules package-lock.json && npm install,避免缓存或损坏的依赖导致内存异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:13:23