Je veux utiliser firebase et angularfire2 dans mon application, tout d'abord, je les ai installées, ainsi que pour les déclarations:
dans 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'
}
};
dans app.module.ts, importations:
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule
dans le composant où veux obtenir mes données:
import { AngularFirestore } from 'angularfire2/firestore';
jusqu'à ce moment je n'ai pas d'erreur, mais quand je veux déclarer ma variable dans le constructeur pour l'utiliser:
constructor(private trainingService: TrainingService, private
db:AngularFirestore) { }
J'ai une erreur:
ERROR TypeError: Object(...) is not a function
at eval (firestore.js:28)
at ZoneDelegate.invoke (zone.js:388)
at Zone.run (zone.js:138)
Dans mon package.json:
"angularfire2": "^5.0.0-rc.8.0",
"core-js": "^2.4.1",
"firebase": "^5.0.2",
et je ne sais pas pourquoi?
merci de votre aide
J'ai eu le même problème mais je l'ai résolu. Vous pouvez suivre mon travail. Ceci est un exemple pour ionique.
Installez rxjs
npm i rxjs@^6.0 rxjs-compat
importer rxjs-compact dans un fichier
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Observable } from 'rxjs-compat';
import { map } from 'rxjs-compat/operators';
Mainteneur d’AngularFire, nous avons eu plusieurs changements radicaux alors que nous marchons vers la version 5.0. Afin de prendre en charge Angular 6, les versions récentes d’AngularFire nécessitent rxjs 6. Tandis que oui, le déclassement ou l’épinglage vers une ancienne version fonctionnerait comme une solution rapide et délicate, mais je ne dirais pas que cela vous éviterait d’améliorer les bibliothèques de l'avenir.
Je vous recommande de mettre à jour rxj6 vers la version 6 et d'y inclure rxjs-compat
si vous avez des dépendances qui n'ont pas encore été mises à jour:
npm i rxjs@^6.0 rxjs-compat
Gardez un œil sur/ angularfire changelog pour obtenir des informations importantes sur tout changement radical; Une fois que nous aurons frappé GA, nous respecterons semver.
Et pour référence voici le RXJS 5 => 6 guide de migration .
npm install rxjs@6 rxjs-compat@6
Cela a résolu le problème
J'ai la même erreur lors de l'installation de "angularfire2": 5.0.0-rc.9
.
L'erreur est partie quand je reviens à 5.0.0-rc.6
.
npm install [email protected]
npm install [email protected]
C'était ma solution:
npm uninstall angularfire2
npm install [email protected]
npm uninstall firebase
npm install [email protected]
Supprimez ^
celui-ci devant la version. Alors comme ça.
{
...
"angularfire2": "5.0.0-rc.6",
"firebase": "4.12.1",
}
J'ai eu la même erreur. Dès que j'ai mis à jour rxjs avec Sudo npm update rxjs
. Et puis mis à jour rxjs-compat avec Sudo npm i rxjs@latest rxjs-compat
. Après avoir corrigé les vulnérabilités puis exécuté ng build
puis ng serve
. Cela a corrigé mon erreur. (sur macOS)