gpt4 book ai didi

javascript - 在新 API 的两个单独文件中初始化 Firebase 引用

转载 作者:IT王子 更新时间:2023-10-29 03:19:50 26 4
gpt4 key购买 nike

我已经升级到新的 API,但不知道如何在两个单独的文件中初始化 Firebase 引用:

    /* CASE 1 */
// 1st file
var config = {/* ... */};
firebase.initializeApp(config);
var rootRef = firebase.database().ref();

// 2nd file - initialize again
var config = {/* ... */};
firebase.initializeApp(config);
var rootRef = firebase.database().ref();

RESULT: bundle.js:535 Uncaught Error: Firebase App named '[DEFAULT]' already exists.

    /* CASE 2 */
// 1st file
var config = {/* ... */};
firebase.initializeApp(config);
var rootRef = firebase.database().ref();

// 2nd file - don't initialize
var rootRef = firebase.database().ref();

RESULT: bundle.js:529 Uncaught Error: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp().

在我刚刚调用的新 API 之前

var myFirebaseRef = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com/");

在每个文件中,它工作正常。

最佳答案

这是我在升级到新版 Firebase 时遇到的问题。您可能想要初始化两个单独的 firebase 应用程序,就像其他答案中解释的那样,但我只是想在我的应用程序的两个不同位置使用 refs,但我遇到了同样的错误。

对于这种情况,您需要做的是为您的应用创建一个只初始化一次 firebase 的 firebase 模块,然后您在应用的其他地方导入或需要它。

这很简单,这是我的:modules/firebase.js

import firebase from 'firebase';
var firebaseConfig = {
apiKey: "some-api-key",
authDomain: "some-app.firebaseapp.com",
databaseURL: "https://some-app.firebaseio.com",
storageBucket: "some-app.appspot.com",
};

var FbApp = firebase.initializeApp(firebaseConfig);
module.exports.FBApp = FbApp.database(); //this doesnt have to be database only

然后在您的应用程序的其他地方,您只需:

import FBApp from '/your/module/location'
var messagesRef = FBApp.ref("messages/");

关于javascript - 在新 API 的两个单独文件中初始化 Firebase 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com