vue 热更新内存溢出 | vue-cli 2热更新内存溢出 | JavaScript堆内存不足

Vue nodejs热更新内存溢出

vue-cli2 脚手架搭建出来的项目,当进行部分被依赖过多的文件时,热更新后容易在94%卡住,报JavaScript heap out of memory,具体如下:

 94% asset optimizationFATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF7CB94ECE5 
 2: 00007FF7CB928196 
 3: 00007FF7CB928BA0 
 4: 00007FF7CBBB8D5E 
 5: 00007FF7CBBB8C8F 
 6: 00007FF7CC0F69D4 
 7: 00007FF7CC0ED137 
 8: 00007FF7CC0EB6AC 
 9: 00007FF7CC0F4627 
10: 00007FF7CC0F46A6 
11: 00007FF7CBC973EB 
12: 00007FF7CBC99EED 
13: 00007FF7CBEADF48 
14: 00007FF7CBBAC26B 
15: 00007FF7CBBD2406 
16: 00007FF7CB91108C 
17: 0000033B9F0879E0 
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! webapp@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 134
npm ERR! 
npm ERR! Failed at the webapp@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\nodejs\node_cache\_logs\2021-04-27T01_36_22_391Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! webapp@1.0.0 start: `npm run dev`
npm ERR! Exit status 134
npm ERR! 
npm ERR! Failed at the webapp@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\nodejs\node_cache\_logs\2021-04-27T01_36_22_452Z-debug.log

原因:

vue nodejs默认配置内存大小约1.8GB,当修改被依赖过多的文件时会查找所有使用的地方,因此容易出现内存溢出情况

解决方案:

修改配置文件,扩大允许使用的内存,文件路径:./node_modules/.bin/webpack-dev-server.cmd

定位到如下内容:

"%_prog%"  "%dp0%\..\webpack-dev-server\bin\webpack-dev-server.js" %*

修改为如下内容:

"%_prog%" --max-old-space-size=4096 "%dp0%\..\webpack-dev-server\bin\webpack-dev-server.js" %*

注:单位为MB,具体配置大小可以根据个人实际情况而定。

 

参考文档:https://www.cnblogs.com/amang/p/9585008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值