前端项目启动栈溢出FATAL ERROR: Zone Allocation failed - process out of memory

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF6C8F0D51F node_api_throw_syntax_error+175743
 2: 00007FF6C8E92E66 v8::internal::wasm::WasmCode::safepoint_table_offset+59654
 3: 00007FF6C8E94B72 v8::internal::wasm::WasmCode::safepoint_table_offset+67090
 4: 00007FF6C993AAB4 v8::Isolate::ReportExternalAllocationLimitReached+116
 5: 00007FF6C9925E12 v8::Isolate::Exit+674
 6: 00007FF6C97A7C6C v8::internal::EmbedderStackStateScope::ExplicitScopeForTesting+124
 7: 00007FF6C97A4E8B v8::internal::Heap::CollectGarbage+3963
 8: 00007FF6C97BB0C3 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath+2099
 9: 00007FF6C97BB96D v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath+93
10: 00007FF6C97CB1A3 v8::internal::Factory::NewFillerObject+851
11: 00007FF6C94BC285 v8::internal::DateCache::Weekday+1349
12: 00007FF6C99D8051 v8::internal::SetupIsolateDelegate::SetupHeap+558193
13: 00007FF649EA3B3F
报错栈溢出之后代码会自动停止并在浏览器显示网络异常

处理方案:

先全局下载:npm install -g increase-memory-limit
然后运行:increase-memory-limit
如果运行之后启动报错:
'"node --max-old-space-size=10240"' 不是内部或外部命令,也不是可运行的程序

则删除node_modules 重新下载以来重启即可
Vite是一个轻量级的前端构建工具,它使用了现代的架构来加速开发过程。然而,当你遇到"Vite build FATAL ERROR: NewSpace::Rebalance Allocation failed - JavaScript heap out of memory"错误时,这通常表示JavaScript运行环境(浏览器或Node.js)的内存已耗尽,无法完成构建过程。 这种错误通常是由于以下几个原因: 1. 构建文件过大:如果你的项目中包含了大量的静态资源或处理复杂的代码,可能导致构建过程中生成的中间文件过大,消耗了大量内存。 2. 无限递归或循环引用:代码中可能存在递归调用或者模块之间的循环引用,这会导致内存占用持续增加。 3. 缓存问题:Vite有时会缓存大量的中间文件,如果没有正确清理,也可能造成内存溢出。 4. 配置错误:如指定的内存限制不足,或者在Node.js环境中未设置足够的`--max-old-space-size`参数。 解决这个问题的方法包括: - 清理缓存:在Vite目录下执行`rm -rf node_modules`和`rm -rf .vite`。 - 增加Node.js内存:如果是Node.js环境,尝试运行`node --max-old-space-size=4096 build.js`,将`4096`替换为更大的数值,但要注意不要设置得过高,以免影响性能。 - 检查并优化代码:查看是否有无限递归或循环引用,以及是否有大文件可以压缩或分割。 - 适当调整Vite配置:如果内存不足是配置问题,查阅Vite的官方文档了解如何设置合理的内存限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值