Firebase实现Google登录时signInWithPopup不是函数错误怎么解决?
解决方案
- 确认Firebase版本匹配
你当前使用的是Firebase v9及以上版本的模块化API语法,如果本地安装的是v8及更低版本的firebase包,就会出现该导出不存在的错误。
执行npm list firebase查看已安装的版本:- 若版本<9.0.0:可以选择升级到最新稳定版,执行
npm install firebase@latest即可;也可以改用v8版本的对应语法:// v8版本写法参考 import firebase from 'firebase/app' import 'firebase/auth' const googlelogin = async () => { const provider = new firebase.auth.GoogleAuthProvider() try { const result = await firebase.auth().signInWithPopup(provider) } catch (e) { console.log(e) } } - 若版本≥9.0.0:先尝试清除依赖缓存重新安装:删除项目根目录的node_modules文件夹、package-lock.json(或yarn.lock)文件,再重新执行
npm install安装所有依赖。
- 若版本<9.0.0:可以选择升级到最新稳定版,执行
- 确认Firebase初始化逻辑正确
必须在调用getAuth()之前完成Firebase应用的初始化,示例初始化代码需要放在所有Auth相关逻辑执行前:
import { initializeApp } from "firebase/app"; // 替换为你自己的Firebase项目配置 const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_SENDER_ID", appId: "YOUR_APP_ID" }; initializeApp(firebaseConfig);
- 重启开发服务
如果是开发环境下出现该问题,尝试停止当前开发服务后重新启动,同时清除本地缓存,避免旧编译产物导致的异常。
内容的提问来源于stack exchange,提问作者user003
相关产品推荐
相关产品推荐

