随着工作中的项目越来越大,每次修改后都要花费一点时间等待更新页面,最近经常出现内存溢出,项目报错停掉,重启后又可以正常使用,但是给项目开发造成了极大的困扰,浪费时间,项目进度缓慢,还会让人烦躁。
上网找了好多方法,百度上各种抄来抄去都是一个模板,还亲测无效:
网上互相抄袭的解决方案:
如果是run dev时报错,在package.json文件里的scripts字段的 ‘dev’ : node 后面加上-max_old_space_size=4096,这里的4096单位是M也就是4G(具体的大小根据实际情况而定);
如果是在打包时 就在项目package.json 文件里修改:“build”: “node 后面加上-max_old_space_size=4096
修改后的代码如下:
"dev": "node -max_old_space_size=4096 build/dev-server.js",
"build": "node -max_old_space_size=4096 build/build.js",
别人不知道,反正我是没效果,浪费时间;还是找了其他人的答案,亲测有效的,转载一下,以备后用;
亲测有效的方案:
问题产生原因:
查询后了解到是Node中通过JavaScript使用内存时只能使用部分内存(64位系统:1.4 GB,32位系统:0.7 GB),如果前端项目比较大,Webpack编译时就会占用很多的系统资源,一旦超出了V8引擎对Node默认的内存限制大小时,就会产生内存溢出的错误。
处理方式是:
在package.json中script下添加:
"scripts": {
"fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit",
...
},
接着执行 npm install cross-env --save--dev
(目前这里只能使用npm)
以及 npm install increase-memory-limit --save--dev
如果安装失败则需要先删除掉项目的node_modules包
配置并安装成功后执行npm run fix-memory-limit
这句,成功则会出现一下界面
经测试不再出现溢出问题,在此作以记录;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。