Vue/React 项目运行或者打包出现内存溢出解决方案

您所在的位置:网站首页 allocationfailed Vue/React 项目运行或者打包出现内存溢出解决方案

Vue/React 项目运行或者打包出现内存溢出解决方案

2023-04-21 00:08| 来源: 网络整理| 查看: 265

因为项目过大运行打包项目的时候报错FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed

image.png 原因如下:

failed - JavaScript heap out of memory JavaScript堆内存不足,这里说的 JavaScript 其实就是 Node,我们都知道 Node 是基于V8引擎,在一般的后端开发语言中,在基本的内存使用上没有什么限制,在 Node 中通过 JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB),这就是我们编译项目时为什么会出现内存泄露了,因为前端项目如果非常的庞大,webpack 编译时就会占用很多的系统资源,如果超出了V8对 Node 默认的内存限制大小就会出现刚刚我截图的那个错误了,那怎么解决呢?V8依然提供了选项让我们使用更多的内存。Node 在启动时可以传递 --max-old-space-size 或 --max-new-space-size 来调整内存大小的使用限制。

第一种解决方案:在package.json 设置内存大小 Vue "build": "node --max_old_space_size=8192"

React

"scripts": { "build": "umi build --max_old_space_size=8192 ", } 第二种解决方案:使用 increase-memory-limit 插件,增加node服务器内存限制

一般情况如果用过第一种方案成功可以不使用第二种,我是遇到第一种配置内存还不起作用的时候用第二种方案生效。

全局安装increase-memory-limit 命令行cmd窗口运行:npm install -g increase-memory-limit, 进入项目文件夹,运行:increase-memory-limit(只需要执行一次即可)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3