如何为多个Firebase项目配置AngularFire

时间:2017-10-19 00:25:42

标签: angularjs firebase angularfire

我正在尝试配置我的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可以识别并区分多个项目吗?

1 个答案:

答案 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的解决方案,只需要问。