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

解决前端打包出现内存溢出问题

作者头像
离殊
发布2022-04-01 16:08:46
2.7K0
发布2022-04-01 16:08:46
举报
文章被收录于专栏:DingLin 随笔

在公司的项目上在测试环境打包还没遇到过,但是通过公司的上线平台打包前端 JS 代码的时候,在打包日志下发现了构建失败的错误日志,具体报错信息可以看下图

打包报错
打包报错

报错信息大致为内存堆栈溢出

主要的原因是因为使用 Node 进行打包时,采用的 V8 引擎,在 Node 中通过 JavaScript 使用内存只能使用部分内存(64位系统下约为 1.4GB,32位系统下约为 0.7GB),这就是为什么我们在打包时会出现内存溢出的问题,主要还是因为默认分配的内存比较小,而我们的项目通常很大!并且 Webpack 在打包的时候也会十分的消耗资源,当超出了默认分配的大小就会出现上述的报错问题

那么如何去解决呢,其实非常简单,只需要在打包的时候分配一下 Node 可使用的内存大小即可

更改 package.json 下的 scripts 字段的打包命令即可

代码语言:javascript
复制
{
  // ...其他配置
  "scripts": {
    "build": "node --max_old_space_size=4096 build/build.js"
  }
  // 其他配置...
}

其实这里更改的就是 --max_old_space_size=4096 通过这个来分配打包时的内存使用大小,然后重新打包即可,这个分配的单位为 MB ,也就是 4G 的内存使用。目前在我这里实验的项目打包速度快了 2 倍,而且还没再次遇到这个问题。

抬走,下一个。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档