最近做了一个新项目,前端缺开发人员,于是自己就顶了上去。作为一个老程序员,原以为前端很easy,但是直到我遇到这个错误后,发现自己想的太简单了。尤其是遇到一个错误,让我郁闷了长达8小时,甚至开始怀疑自己是否适合做前端开发。
错误关键字:JavaScript heap out of memory
20190615解决方案(其他要求更改文件的统统测试无效,其他要求更改文件的统统测试无效,其他要求更改文件的统统测试无效):
1,全局安装increase-memory-limit,
npm install -g increase-memory-limit
2,进入工程目录,执行 : increase-memory-limit
20190626解决方案: increase-memory-limit无法解决问题的情况,升级node8.0 到最新版本node10.16.0,同时内存最好加到12G或者以上。
幸福的时光总是短暂的,在我追赶三只小猪的道路上狂奔的某天,npm start 之后系统再次报错 JavaScript heap out of memory 。而且是在我没有更改代码的情况下,真是莫名其妙。
我的开发机器是工作站,内存8G,于是关闭所有程序,ctrl+alt+delete 监控内存。发现,其实系统是在内存5G的时候就报JavaScript heap out of memory ,并未把内存完全耗尽。难不成,node监控到还需要申请的内存已经超过3G?
最快的解决方案,申请加内存,公司同事比较给力,很快就给我加了4G内存,于是目前机器内存是12G了。再次启动,系统再次在5G内存占用的情况下报JavaScript heap out of memory。
于是,我只能求助公司平台组的同事了。在我描述了自己遇到的问题,以及各种尝试之后,他询问了我的node版本,并明确要求我把node升级到最新版本。结果神奇的事情发生了,在我把node升级到最新版本后,npm start 竟然不再报JavaScript heap out of memory。
在正常启动后,我再次监控了内存使用情况,发现多数时间,我机器内存占用基本是大于8G的,怪不得在8G内存的时候,经常报JavaScript heap out of memory。