Ich benutze angularfire2 für meine Angular Web Apps und ich habe vor kurzem auf die v4.0.0-rc0 aktualisiert. Es verhält sich auf verschiedene Weise anders. Die Sache, mit der ich Hilfe brauche, ist die Verwendung von 'Firebase' (die reguläre Firebase JS-Bibliothek) auf der Seite angularfire2 in der Version v4.0.0. In früheren Versionen würden Sie importieren:Verwenden von "Firebase" mit AngularFire2 v4
import * as firebase from 'firebase';
und dann die reguläre Bibliothek Firebase JS verwenden mit Aussagen wie folgt aus:
firebase.database().ref().child("message").set("hi");
, die in früheren Versionen gut funktioniert, finden Sie in diesem Video, um mehr über diesen Ansatz (es ist eine Anforderung bei der Lagerung verwendet wird): https://www.youtube.com/watch?v=nMR_JPfL4qg#t=6m11s
aber wenn ich versuche, das gleiche mit v4.0.0-RC0 zu tun ich diese Fehlermeldung:
Firebase: Es wurde keine Firebase-App '[DEFAULT]' erstellt - rufen Sie Firebase App.initializeApp() (app/no-app) auf.
Ich kann die Nachricht lesen und erkennen, dass es denkt, dass initializeApp nicht aufgerufen wurde. Aber wenn ich den angularfire2 v4 Code wie folgt ...
this.afDatabase.object("somepath").subscribe((myData: any) => {
console.log("My data", data);
});
, das alles in Ordnung ist, da ich zum initializeApp in meinem app.module.ts. So das eigentliche Problem ist, dass zuvor die Zeile:
AngularFireModule.initializeApp(environment.firebaseConfig),
für beiden angularfire2 gearbeitet und die regelmäßigen Firebase JS-Bibliothek, aber jetzt ist es nicht. Was ist der richtige Weg, um die reguläre Firebase JS-Bibliothek für die Datenbank jetzt zu verwenden? Rufe ich firebase.initializeApp auch im app.module.ts auf? Das scheint schlecht zu sein, um 2 InitializeApp-Aufrufe zu machen, aber ich kenne den richtigen Weg nicht.
Haben Sie Module zu Lazy Loading geändert? – rashidnk