前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue内存溢出问题解决方法

Vue内存溢出问题解决方法

作者头像
前端逗逗飞
发布2021-04-30 10:32:09
4.4K0
发布2021-04-30 10:32:09
举报
文章被收录于专栏:前端逗逗飞前端逗逗飞

引起内存泄漏的原因有不少,本文就介绍webpack 运行 npm run build 内存溢出 JavaScript heap out of memory内存溢出的错误。vue-cli3.0构建的项目,开发过程中,可能会遇到内存溢出的情况,改动一点代码,代码编译,进程就会断掉。

“报错CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory是 JavaScript堆内存不足,这里说的 JavaScript 其实就是 Node,我们都知道 Node 是基于V8引擎,在一般的后端开发语言中,在基本的内存使用上没有什么限制。

内存溢出主要原因分析

  • nodejs在执行JavaScript时,内存受到v8限制,64位约为1.4g,32位0.7g
  • 限制内存原因:垃圾回收时,js线程会暂停执行(避免JS应用逻辑与垃圾回收器看到的不一样),大量的堆内存回收严重影响性能

解决思路

  • 通过webpack进行打包优化,降低单个文件大小,比如使用dll,这个思路不是本节讲授重点
  • 扩大node内存

思路2具体解决方案

通过解决increase-memory-limit的包升级版来解决

  • 安装两个npm包: increase-memory-limit-fixbug 和 cross-env
代码语言:javascript
复制
npm install increase-memory-limit-fixbug cross-env -g
  • package.json中 添加如下脚本
代码语言:javascript
复制
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"

执行fix-memory-limit脚本

代码语言:javascript
复制
npm run fix-memory-limit

重新运行项目即可

代码语言:javascript
复制
npm run build

补充

  • 如果使用increase-memory-limit而不使用increase-memory-limit-fixbug,执行完npm run fix-memory-limit,需要手动清除掉标注的地方,但是标注的地方是依赖的包文件,生产环境不好操作,所以increase-memory-limit-fixbug是对其优化,在解决内存溢出问题基础上专门解决此问题的.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内存溢出主要原因分析
  • 解决思路
    • 思路2具体解决方案
      • 通过解决increase-memory-limit的包升级版来解决
        • 执行fix-memory-limit脚本
        • 重新运行项目即可
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档