我正在尝试配置我的AngularFire(2.3.0) - (这使用Angular 1.x)应用程序来处理多个firebase项目。 Firebase在docs中提供了这种可能性的参考。以下是如何初始化单个数据库的片段。
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
};
firebase.initializeApp(config);
以下是添加其他数据库的方法。
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();
AngularFire可以识别并区分多个项目吗?
答案 0 :(得分:0)
是angularFire可以做到这一点=&gt;测试:“angular”:“~1.5.3”,“angularfire”:“^ 2.0.1”
来自其他项目的辅助数据库(不同的身份验证!):
constructor(Firebase, $firebaseArray){
'ngInject';
this.firebase = Firebase;
this.app = Firebase.initializeApp(secondaryConfig, 'secondary');
this.$firebaseArray = $firebaseArray;
}
getListDb1 () {
const refList = this.firebase.database().ref(`items`);
return this.$firebaseArray(refList);
}
getListDb2 () {
const refList = this.app.database().ref('items');
return this.$firebaseArray(refList);
}
我无法在AngularFire中使用相同的Auth从同一个项目访问2个DB但是如果有人需要它我就有AF2的解决方案,只需要问。