我在同一个项目中有两个火焰基础,我需要连接到它们。
有两个连接到每个firebase的javascript文件似乎没问题。
我导入了他们两个
import db from '../FireBase'
import mdb from '../MissionFireBase'
let MissionRef = mdb.ref('mission');
let TeamRef = db.ref('Teams');
let StartRef = db.ref('start');
db是一个firebase的导出,另一个是mdb。在它自己每个人的作品,但当我尝试使用它们时,我得到一个错误
index.cjs.js?3b8b:360 Uncaught FirebaseError {code: "app/duplicate-app", message: "Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app).", name: "[DEFAULT]", stack: "[DEFAULT]: Firebase: Firebase App named '[DEFAULT]…0)↵ at fn (http://localhost:8080/app.js:89:20)"}
对我而言似乎某个地方firebase获得了一个默认ID,当尝试使用它们时它们都会发生冲突。我尝试从不同的vue组件调用每个,但我得到相同的结果。
firebase连接是这样的
import Firebases from 'firebase'
let config = {
apiKey: "--",
authDomain: "--",
databaseURL: "--",
projectId: "--",
storageBucket: "--",
messagingSenderId: "--"
};
let apps= Firebases.initializeApp(config);
let mdb = apps.database();
export default mdb
这可能吗?我可以使用两个不同的firebase调用,还是需要将它们合并在一起?
由于
答案 0 :(得分:2)
这绝对有可能。您需要为每个实例创建单独的FirebaseApp
实例,然后从中获取数据库。
var secondaryAppConfig = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
};
// Initialize another app with a different config
var secondary = firebase.initializeApp(secondaryAppConfig, "secondary");
// Retrieve the database.
var secondaryDatabase = secondary.database();
有关详情,请参阅Firebase文档中的using multiple projects in your application部分。