产生的原因

因为在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%