【随手记】前端多模块项目内存溢出

2024-08-07 13:58:49 浏览数 (2)

【随手记】前端多模块项目内存溢出

客怎眠qvq2024-03-282024-07-26

前言

最近起公司的前端项目又爆内存了,忘记之前是怎么配置的,这篇博客用于备忘。

问题描述

一个很臃肿的前端多模块项目,对应后端的多个 springboot 模块项目,前端每次启动都会对所有的包进行打包,影响启动速度,内存也很容易爆掉。

报错如下:

代码语言:javascript复制
(node:28820) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 upgrade listeners added to [Server]. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

解决方案

1、使用 npm 安装插件

代码语言:javascript复制
npm install -g increase-memory-limit

2、项目启动前,在终端运行对应命令

代码语言:javascript复制
increase-memory-limit
# 或者下面这句
increase-memory-limit.cmd

3、在项目的 vue.config.js 中注释掉对应的内存限制行

代码语言:javascript复制
console.log("CPU 数量", require('os').cpus().length)
console.log(require('v8').getHeapStatistics())
// args[0].memoryLimit = 4096; 这行限制注释掉

4、根据统一认证登录和单点登录的需要,修改 loginType

5、运行项目

代码语言:javascript复制
npm run serve
# 或者
npm run dev

参考链接

引用站外地址

JavaScript heap out of memory

CSDN

0 人点赞