配置Firebase时提示firestore不存在于typeof import类型如何解决
报错修复方案
这个报错是Firebase 9及以上版本切换为模块化API导致的,旧版命名空间调用方式默认不再支持,且你没有导入Firestore对应模块,可选择以下任意一种方案修复:
方案1:适配新版模块化API(推荐)
新版API支持tree shaking,打包体积更小,是官方推荐写法:
// 导入核心初始化方法 import { initializeApp } from 'firebase/app'; // 导入Firestore实例获取方法 import { getFirestore } from 'firebase/firestore'; const firebaseConfig = { apiKey: "-------", authDomain: "--------", projectId: "------------", storageBucket: "------------", messagingSenderId: "---------", appId: "----------" }; // 初始化Firebase应用 const app = initializeApp(firebaseConfig); // 导出Firestore实例 export const firestore = getFirestore(app);
方案2:使用兼容包适配旧写法
如果项目里已有大量旧版Firebase调用逻辑不想修改,可以用官方提供的兼容包:
// 导入兼容旧版API的命名空间 import firebase from 'firebase/compat/app'; // 导入Firestore兼容模块,导入后会自动挂载到firebase命名空间 import 'firebase/compat/firestore'; const firebaseConfig = { apiKey: "-------", authDomain: "--------", projectId: "------------", storageBucket: "------------", messagingSenderId: "---------", appId: "----------" }; const app = firebase.initializeApp(firebaseConfig) export const firestore = firebase.firestore()
兜底方案(仅适用于Firebase 8及更低版本)
如果你使用的是8及更低版本的Firebase,只需要安装对应的类型声明包即可:npm install @types/firebase --save-dev
内容的提问来源于stack exchange,提问作者Ankit Sanghvi
相关产品推荐
相关产品推荐

