SvelteKit集成Firebase Google Auth时报不存在名为firebase的导出错误
问题解决:SvelteKit中Firebase Google认证导入报错
报错原因
你使用的是9.x及以上版本的Firebase,该版本采用了全新的模块化API设计,已经移除了全局firebase命名空间的导出,你当前代码的导入、调用逻辑均为Firebase 8.x及更早版本的写法,和依赖版本不兼容,因此触发该错误。
修复代码
直接将原有代码替换为适配模块化API的写法即可:
import { initializeApp } from 'firebase/app' import { getAuth, GoogleAuthProvider } from 'firebase/auth' const firebaseConfig = { apiKey: "xxx", authDomain: "xxx", databaseURL: "xxx", projectId: "xxx", storageBucket: "xxx", messagingSenderId: "xxx", appId: "xxx", measurementId: "xxx" }; const app = initializeApp(firebaseConfig); export const auth = getAuth(app); const provider = new GoogleAuthProvider();
核心改动说明
- 删除了不存在的
firebase对象导入语句 - 移除了
import 'firebase/auth'这类旧版本需要的副作用导入 - 调用
getAuth方法传入初始化好的Firebase应用实例,替换旧版本的firebase.auth()调用
内容的提问来源于stack exchange,提问作者34_Shravan Naik
相关产品推荐
相关产品推荐

