webentwicklung-frage-antwort-db.com.de

"ERROR TypeError: Object (...) ist keine Funktion", die AngularFirestore und Firebase verwendet

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

10
Hazem HASAN

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';

https://stackoverflow.com/a/50447449/6567753

11
Biswajit

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 .

34
James Daniels
npm install [email protected] [email protected]

Dies hat das Problem gelöst

9
Adrita Sharma

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]
5
Haifeng Zhang

Das war meine Lösung:

npm uninstall angularfire2
npm install [email protected]rc.4
npm uninstall firebase
npm install [email protected]
0

Entfernen Sie ^ diesen vor der Version. So, so.

{
    ...

    "angularfire2": "5.0.0-rc.6",
    "firebase": "4.12.1",
}
0
Mingyu Jeon

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)

0
EZCity