You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3+Vite环境下Firebase 10.0.0出现getApps导出缺失错误求助

解决Firebase 10.x中getApps导出不存在的错误

问题背景

项目基于Vue 3 + Vite,Firebase版本为10.0.0,此前运行正常,未修改过firebase.js代码及Firebase规则,突然出现以下错误:

Uncaught SyntaxError: The requested module '/node_modules/.vite/deps/firebase_app.js?v=bdc3ec1e' does not provide an export named 'getApps' (at firebase.js:1:471)

解决方案

1. 清理依赖缓存与重新安装

这是最常见的修复方式,大概率是Vite预构建缓存或node_modules损坏导致的:

  • 删除项目根目录下的node_modules文件夹
  • 删除对应包管理器的锁文件:package-lock.json(npm)/ yarn.lock(Yarn)/ pnpm-lock.yaml(pnpm)
  • 重新安装依赖:执行npm install(或对应包管理器的安装命令)
  • 清理Vite缓存:执行npx vite --clear-cache,或者手动删除项目根目录的.vite文件夹

2. 确认Firebase实际安装版本

依赖冲突可能导致实际安装的Firebase版本并非预期的10.0.0:

  • 运行命令查看当前安装的Firebase版本:
    npm list firebase
    
  • 如果版本不符,可强制安装指定版本:
    npm install firebase@10.0.0
    

3. 替换初始化逻辑(备选方案)

如果上述方法无效,可以绕过getApps,用getApp的异常捕获实现避免重复初始化:
修改firebase.js中的初始化代码为:

import { getApp, initializeApp } from "firebase/app";
// ... 其他导入代码不变

let firebaseApp;
try {
  // 尝试获取已初始化的App
  firebaseApp = getApp();
} catch (e) {
  // 未初始化则创建新App
  firebaseApp = initializeApp(firebaseConfig);
}
const firebaseAuth = getAuth(firebaseApp);
// ... 后续代码不变

原因说明

Firebase 10.x版本中getApps是firebase/app的合法导出,出现此错误并非代码问题,通常是:

  • Vite的依赖预构建缓存了旧的模块信息
  • node_modules中的Firebase包文件损坏或不完整

内容的提问来源于stack exchange,提问作者DevMatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:12:19