【发布时间】:2018-09-25 01:40:00
【问题描述】:
我正在尝试按照说明 here 使用 firebase ui 设置 firebase 身份验证。
我使用 yarn 添加了 firebase ui 模块。我的 react 应用程序的根目录中有一个 firebase 文件夹。在其中,我有一个 firebase.js 文件:
import * as firebase from 'firebase';
import * as firebaseui from 'firebaseui'
const config = {
apiKey: process.env.FIREBASE_API_KEY,
authDomain: process.env.FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.FIREBASE_DATABASE_URL,
projectId: process.env.FIREBASE_PROJECT_ID,
storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID
};
firebase.initializeApp(config);
const database = firebase.database();
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
当我尝试检查我在这一点上是否正确时,我收到一个控制台错误,上面写着:
firebaseApp.js:339 Uncaught FirebaseError {code: "app/duplicate-service", message: "Firebase: Firebase service named 'auth' already registered (app/duplicate-service).", name: "auth", stack: "auth: Firebase: Firebase service named 'auth' alre…t
我不会在应用程序的其他任何地方调用 firebase,所以我认为这可能是错误的唯一方法是 firebaseui 已经导入了 firebase。我尝试删除第一个 import 语句,但随后出现错误,提示未定义 firebase。
有人知道如何正确设置吗?我见过this question。我可以看到方法的差异。我尝试使用问题中使用的配置语句。我仍然遇到同样的问题。
自从发布此问题后,我聘请了一名工作人员为我设置此问题。尽管花了 400 美元,我仍然有这个问题。其他问题已发布此问题并确定了角耀斑的重复。我不使用角度。
上工承包商设置如下:
const config = {
apiKey: settings.FIREBASE_API_KEY,
authDomain: settings.FIREBASE_AUTH_DOMAIN,
databaseURL: settings.FIREBASE_DB_URL,
projectId: settings.FIREBASE_PROJECT_ID,
storageBucket: settings.FIREBASE_STORAGE_BUCKET,
messagingSenderId: settings.FIREBASE_MESSAGE_ID,
}
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
const database = firebase.database();
const auth = firebase.auth()
export {firebase, auth, database };
此块中有一个用于 firebase.auth 的额外 const。我尝试删除它,但它没有任何区别。控制台错误仍然出现。
我上面链接的 SO 问题显示了从库导入的导入语句。我所有的导入语句都会导入我的 firebase.js 文件,该文件本身会导入 firebase。我想知道这是否是重复的?但是,导入中有 if 语句,所以我不明白为什么这可能是问题所在。我确实在我的组件中导入了 FirebaseUI,但我不知道这是否会以某种方式重复导入 firebase。
我正在寻找带有反应的解决方案。有谁知道如何配置 Firebase 以与 React 应用程序一起使用?
【问题讨论】:
-
看firebaseui demo,我看到firebaseui是在firebase初始化后才导入的。但是,在您的方法中,首先导入
firebase和firebaseui,然后对其进行初始化。参考:github.com/firebase/firebaseui-web/blob/master/demo/public/…
标签: reactjs firebase authentication