Server Error TypeError: firebaseApp.firestore is not a function报错求助
解决方案
这个报错是Firebase版本不兼容、引入方式冲突导致的,按照以下两种方案任选其一修复即可:
方案1:沿用当前使用的V8版本命名空间式语法
- 先卸载现有版本的firebase:
npm uninstall firebase - 安装V8分支的稳定版本:
npm install firebase@8.10.0 - 删掉代码中重复引入的CDN行:
<script src="https://www.gstatic.com/firebasejs/8.7.0/firebase-app.js"></script>,npm引入和CDN引入不要混用,否则会出现实例冲突 - 保留以下导入语句即可:
import * as firebase from "firebase/app"; import 'firebase/firestore';
- 原有初始化和获取firestore实例的代码不需要改动,即可正常运行。
方案2:升级使用官方推荐的V9+模块化语法
- 安装最新版本firebase:
npm install firebase - 将导入语句替换为模块化写法:
import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore";
- 将原有初始化代码替换为:
const firebaseApp = initializeApp(firebaseConfig); const db = getFirestore(firebaseApp); export { db };
额外检查项
- 确认没有重复引入firebase相关依赖,不要同时使用CDN和npm两种引入方式
- 如果你使用的是服务端渲染框架,确保firebase初始化和firestore调用逻辑只在客户端侧执行,不要在服务端运行时触发。
内容的提问来源于stack exchange,提问作者Vijayendra Dev
相关产品推荐
相关产品推荐

