node解决打包过程中的内存不足
问题描述
在打包大的项目时,打包过程中会报错失败。报错信息为 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory in XXX
。
首先一定要排除代码中是否有会导致内存泄露的可能,如果没有内存泄露,项目又比较大,打包过程确实消耗较大的内存,那么请继续阅读。
查阅资料后发现,当电脑内存为 8G 时,安装 node,默认分配给堆的内存大小就是 2G,一旦项目运行时超过这个限制就会报错。可以使用如下命令来查看自己的堆大小限制:
node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'