产生的原因
因为在Node中,通过JavaScript使用内存时只能使用部分内存(64位系统:1.4 GB,32位系统:0.7 GB),这个时候,如果前端项目非常的庞大,Webpack编译时就会占用很多的系统资源,如果超出了V8引擎对Node默认的内存限制大小时,就会产生内存溢出的错误。
解决办法
第一步
在packagejson里添加这两个插件
npm install increase-memory-limit
npm install cross-env
第二步
在package.json里的scripts里进行配置
"scripts": { "fix-memory-limit": "cross-env LIMIT=8192 increase-memory-limit" }, LIMIT是你想分配的内存大小,这里的8192单位是M也就是8G(具体的大小根据实际情况而定);
第三步
执行 npm run fix-memory-limit
只需要执行一次即可,然后重新启动项目,热更新就不会再内存溢出了。
再不行就将node_modules->.bin文件夹中所有的"%_prog%"批量替换为%_prog%