在公司的项目上在测试环境打包还没遇到过,但是通过公司的上线平台打包前端 JS 代码的时候,在打包日志下发现了构建失败的错误日志,具体报错信息可以看下图
报错信息大致为内存堆栈溢出
主要的原因是因为使用 Node
进行打包时,采用的 V8
引擎,在 Node
中通过 JavaScript 使用内存只能使用部分内存(64位系统下约为 1.4GB,32位系统下约为 0.7GB),这就是为什么我们在打包时会出现内存溢出的问题,主要还是因为默认分配的内存比较小,而我们的项目通常很大!并且 Webpack 在打包的时候也会十分的消耗资源,当超出了默认分配的大小就会出现上述的报错问题
那么如何去解决呢,其实非常简单,只需要在打包的时候分配一下 Node
可使用的内存大小即可
更改 package.json
下的 scripts 字段的打包命令即可
{
// ...其他配置
"scripts": {
"build": "node --max_old_space_size=4096 build/build.js"
}
// 其他配置...
}
其实这里更改的就是 --max_old_space_size=4096
通过这个来分配打包时的内存使用大小,然后重新打包即可,这个分配的单位为 MB ,也就是 4G 的内存使用。目前在我这里实验的项目打包速度快了 2 倍,而且还没再次遇到这个问题。
抬走,下一个。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有