Vue3项目(vben框架)打包时报错:JavaScript heap out of memory

实际解决

1、我用的方法二 + 方法三解决了问题(台式机128G内存),方法二中将内存设置为了32g,方法三中内存设置16g也就是LIMIT=32768

2、同事使用的方法(笔记本16G内存,使用我上边的方法没有解决,加了下边代码后解决了)
在这里插入图片描述

异常

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

原因

JavaScript 内存不足,指的就是Node,Node 基于V8引擎, Node 中通过script使用的内存只是很小的一部分(64位系统下约为1.4 GB,32位系统下约为0.7 GB),当我们的开发中包比较大时,就容易形成内存不足。

解决方法-设置增加内存

方法一
"serve": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve"
或者
"serve": "npx --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve"

方法二
安装 cross-env 和 increase-memory-limit
yarn add -D cross-env increase-memory-limit

package.json 的 scripts
"fix-memory-limit": "cross-env LIMIT=8096 increase-memory-limit"

yarn fix-memory-limit

然后在开启服务,这里可能会遇到问题

node --max-old-space-size=4096: ‘>=8.12.0’ 类似这种的。

定位到那个包把这些 --max-old-space-size=4096 删除。

方法三
在这里插入图片描述
在这里插入图片描述

-Xmx16g
-Xms16g

方法四
set NODE_OPTIONS=--max_old_space_size=4096

运行第一遍可能还会有问题,运行两遍试试,

参考
Vue-cli3执行serve和build命令时nodejs内存溢出问题及解决

参考

参考博客1
参考博客2

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值