前端项目打包编译时出现以下情况:
原因:
在Node中通过JavaScript使用内存时只能使用部分内存(64位系统:1.4 GB,32位系统:0.7 GB),这个时候,如果前端项目非常的庞大,Webpack编译时就会占用很多的系统资源,如果超出了V8引擎对Node默认的内存限制大小时,就会产生内存泄露(JavaScript heap out of memory)的错误。
解决方案
既然V8引擎有对Node进行默认的内存限制大小,那么在Node内存不足的时候,可以放宽内存大小的使用限制,可以在Node启动的时候,传递--max-old-space-size或--max-new-space-size来调整内存大小的使用限制。
修改
build:"node --max_old_space_size=4096 build/build.js"
意思是将内存调整到4G。后面跟的路径,意思是针对rollup模块中bin文件夹中的执行文件,使其扩容。
4G若不够 则修改
build:"node --max_old_space_size=8192 build/build.js"
则将内存调整到8G
再执行 npm run build