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

React JS 接入 Firebase Authentication 实现 Facebook 登录出现 Provider 报错

React JS 项目使用Firebase Authentication实现Facebook登录的报错解决记录

问题背景

计划在React JS项目中使用Firebase Authentication实现Facebook登录功能,开发过程中先后出现两类报错,以下是解决过程记录。

初始报错

遇到的第一个报错为:TypeError: Cannot read property 'FacebookAuthProvider' of undefined,触发报错的代码行:

  • facebook: new firebase.auth.FacebookAuthProvider()

查阅技术资料后尝试调整导入语句,将import * as firebase from "firebase/app";修改为import * as firebase from "firebase";,但修改后initializeApp相关逻辑又出现新报错。

原 firebaseSample.ts 代码

import * as firebase from "firebase/app";
import 'firebase/auth';
import 'firebase/firestore';
import config from 'config/config';

const FirebaseSample = firebase.initializeApp(config.firebase);

export const Providers = {
facebook: new firebase.auth.FacebookAuthProvider()
}

export const auth = firebase.auth();
export default FirebaseSample;

config.ts 代码

const config = {
firebase: { 
  apiKey: "unique_id",
  authDomain: "unique_id",
  databaseURL: "unique_id",
  projectId: "unique_id-1663e",
  storageBucket: "unique_id.appspot.com",
  messagingSenderId: "unique_id",
  appId: "1:unique_id",
  measurementId: "G-unique_id"
  }
}
export default config;

第一次修改后报错

调整导入语句使用firebase compat版本后,出现新报错:ReferenceError: Can't find variable: Providers

第一次修改后的 firebaseSample.ts 代码

import firebase from 'firebase/compat/app'
import 'firebase/compat/auth'
import 'firebase/compat/firestore'
import config from 'config/config';

const FirebaseSample = firebase.initializeApp(config.firebase);

export const Providers = {
facebook: new firebase.auth.FacebookAuthProvider()
}

 export const auth = firebase.auth();
 export default FirebaseSample;

报错截图:
报错截图

第二次调整后的 firebaseSample.ts 代码

import firebase from 'firebase/compat/app'
import 'firebase/compat/auth'
import 'firebase/compat/firestore'
import config from 'config/config';

const FirebaseSample = firebase.initializeApp(config.firebase);

const Providers = {
  facebook: new firebase.auth.FacebookAuthProvider()
 }

   export Providers;    

  export const auth = firebase.auth();
  export default FirebaseSample;

最终解决方法

将全项目所有firebase相关导入语句统一修改为以下兼容格式后,所有报错均已解决:

import firebase from 'firebase/compat/app'
import 'firebase/compat/auth'
import 'firebase/compat/firestore'

解决后效果截图:
解决后截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:54:02