Ich möchte in meiner App Firebase und E2 verwenden, zuerst habe ich sie installiert und für die Deklarationen:
in environment.ts
export const environment = {
production: false,
firebase: {
apiKey: 'sfsdfdsff',
authDomain: 'sfsdfdf',
databaseURL: 'https://ng-sfsdfsf.firebaseio.com',
projectId: 'ng-fitnesssfsdfdsf',
storageBucket: 'ng-fsdfsdfsfdecff5.appspot.com',
messagingSenderId: '21331323'
}
};
in app.module.ts importiert:
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule
in der Komponente, wo meine Daten abgerufen werden sollen:
import { AngularFirestore } from 'angularfire2/firestore';
bis zu diesem Moment habe ich keinen Fehler, aber wenn ich meine Variable im Konstruktor deklarieren möchte, wird sie verwendet:
constructor(private trainingService: TrainingService, private
db:AngularFirestore) { }
Ich habe einen Fehler:
ERROR TypeError: Object(...) is not a function
at eval (firestore.js:28)
at ZoneDelegate.invoke (zone.js:388)
at Zone.run (zone.js:138)
In meinem package.json:
"angularfire2": "^5.0.0-rc.8.0",
"core-js": "^2.4.1",
"firebase": "^5.0.2",
und ich weiß nicht warum?
danke für Ihre Hilfe
Ich hatte dasselbe Problem, aber ich habe es gelöst. Sie können meiner Arbeit folgen. Dies ist ein Beispiel für ionisch.
Installieren Sie rxjs
npm i [email protected]^6.0 rxjs-compat
importiere rxjs-compact in eine Datei
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Observable } from 'rxjs-compat';
import { map } from 'rxjs-compat/operators';
AngularFire-Betreuer hier, wir hatten eine Reihe bahnbrechender Änderungen, während wir in Richtung 5.0 GA marschieren. Um Angular 6 zu unterstützen, benötigen die neuesten Versionen von AngularFire Rxjs 6. Obwohl das Herabstufen oder Anpassen einer alten Version für eine schnelle und fehlerhafte Korrektur funktionieren würde, würde ich nicht empfehlen, da dies die Bibliotheksverbesserungen nicht verbessern wird die Zukunft.
Ich empfehle ein Upgrade von rxj6 auf Version 6 und rxjs-compat
, wenn noch Abhängigkeiten vorhanden sind, die noch nicht aktualisiert wurden:
npm i [email protected]^6.0 rxjs-compat
Behalten Sie das anglefire changelog im Auge, um wichtige Informationen zu brechenden Änderungen zu erhalten. Sobald wir GA drücken, werden wir uns an Semver halten.
Und als Referenz hier ist der Migrationsleitfaden RXJS 5 => 6 .
npm install [email protected] [email protected]
Dies hat das Problem gelöst
Ich habe den gleichen Fehler bei der Installation von "angularfire2": 5.0.0-rc.9
.
Der Fehler ist verschwunden, wenn ich zu 5.0.0-rc.6
zurückrollte.
npm install [email protected]
npm install [email protected]
Das war meine Lösung:
npm uninstall angularfire2
npm install [email protected]rc.4
npm uninstall firebase
npm install [email protected]
Entfernen Sie ^
diesen vor der Version. So, so.
{
...
"angularfire2": "5.0.0-rc.6",
"firebase": "4.12.1",
}
Ich habe den gleichen Fehler bekommen. Sobald ich rxjs mit Sudo npm update rxjs
aktualisiert habe. Und dann rxjs-compatible mit Sudo npm i [email protected] rxjs-compat
aktualisiert. Nachdem Sie die Schwachstellen behoben und anschließend ng build
und dann ng serve
ausgeführt haben. Dies hat meinen Fehler behoben. (unter macOS)