解决vite打包vue项目导致JavaScript 堆内存耗尽,打包失败

由于我的是一个大屏项目,项目下有一个静态的json文件,是一个城市的建筑数据,有50MB左右,在我pnpm run build打包的时候导致内存不足报错:

 问了一下AI给出的解决办法:

  1. 增加 Node.js 的内存限制: 你可以尝试增加 Node.js 的堆内存限制,以便程序有更多的内存可用。你可以通过在运行 Node.js 脚本时使用 --max_old_space_size 参数来增加堆内存限制,

  2. 优化代码: 检查代码是否存在内存泄漏或者不必要的数据持久化,尝试优化代码以减少内存占用。

  3. 分批处理数据: 如果你正在处理大量数据,尝试分批处理数据,而不是一次性加载所有数据到内存中。

  4. 使用流式处理: 如果可能的话,尝试使用流式处理来逐行或者逐块地处理数据,而不是一次性加载所有数据。

  5. 升级硬件: 如果你的计算机硬件条件允许,考虑升级到内存更大的计算机,以便有更多的内存可用。

看了一下最后还是给Node.js增加内存最为暴力,效果也最为明显。

打开package.json文件,编辑build脚本:4096算下来是4GB,就临时给nood分配了4GB的内存。

修改后执行pnpm run build:prod 就打包成功啦。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vite打包Vue项目时,我们可以通过读取外部配置文件来实现灵活配置域名。 首先,我们可以在项目的根目录下创建一个外部配置文件,例如config.js。在该文件中,我们可以定义一个变量来存储域名配置信息,例如: ```javascript // config.js export const apiDomain = 'http://api.example.com'; ``` 然后,在项目的入口文件(例如main.js)中,我们可以通过导入外部配置文件来获取域名配置,例如: ```javascript // main.js import { apiDomain } from './config'; // 使用apiDomain作为接口域名配置 ... ``` 这样,我们就可以将域名配置信息定义在外部配置文件中,并在项目中通过导入来灵活地使用。当我们需要修改域名时,只需修改外部配置文件中的配置,而不需要修改项目代码本身。 但是需要注意的是,当使用Vite打包项目时,默认情况下会将import的外部文件打包到最终的构建结果中。如果我们想要使得外部配置文件可以被动态加载,可以使用Vite提供的动态导入方式。例如: ```javascript // main.js const { apiDomain } = await import('./config'); // 使用apiDomain作为接口域名配置 ... ``` 这样配置文件将会作为一个单独的模块,动态加载到项目中,实现了通过外部配置文件灵活配置域名的目的。 综上所述,通过在Vite打包Vue项目中读取外部配置文件,我们可以灵活配置域名。我们可以将域名配置信息定义在外部文件中,并通过动态导入的方式,使得配置文件可以灵活被加载。这种方式在需求变化较频繁的项目中尤为有用,将配置与代码分离,使得系统更加灵活和可维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值