web-dev-qa-db-fra.com

Obtenir une erreur: "N'a-t-il pas de membre exporté AngularFire, AuthProviders, AUthMethods, FirebaseListObservable" dans AngularFire2?

Je suis nouveau sur Angular 4, donc je crée une application de chat Firebase avec Angular 4, puis quand j'importe des modules comme celui-ci:

import { AngularFire, AuthProviders, AuthMethods,FirebaseListObservable } from 'angularfire2';

J'obtiens une erreur pour chaque module qui dit

N'a pas de membre exporté AngularFire, AuthProviders, AUthMethods, FirebaseListObservable.

Merci

11
Jośe

À JOUR (Ver 5.0.0-rc3):

Lors de l'obtention de cette erreur, cela signifie que vous utilisez l'ancienne API de base de données. Cela peut être résolu en important FirebaseListObservable depuis le module obsolète (Voir aussi @ Ashish Jha réponse):

import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database-deprecated';

Il est recommandé d'utiliser la dernière API car AngularFire 5.0 apporte une nouvelle API pour la base de données en temps réel. Reportez-vous à la mise à niveau guide .


RÉPONSE ORIGINALE: AngularFire2 a séparé ses modules depuis 4.0.0+.

vous pouvez importer ces deux modules si vous voulez utiliser l'auth d'angularfire2, voyez leur changement log :

import {AngularFireModule} from 'angularfire2';
// for auth    
import {AngularFireAuthModule} from 'angularfire2/auth';
// for database
import {AngularFireDatabaseModule} from 'angularfire2/database';

et importez Auth et Observable (AuthMethods peut être trouvé dans AngularFireAuth) par:

// for auth
import { AngularFireAuth } from 'angularfire2/auth';
// for database
import { AngularFireDatabase } from 'angular2/database';
// for Observables
import {FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
18
Pengyy

La solution qui a fonctionné pour moi a été de changer cette ligne

import { AngularFire, AuthProviders, AuthMethods,FirebaseListObservable } from 'angularfire2'; 

à

import { AngularFireAuth } from 'angularfire2/auth';

import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database-deprecated";

Vous pouvez en savoir plus à ce sujet ici https://github.com/angular/angularfire2/blob/master/CHANGELOG.md

8
thedreamsaver

utiliser AngularFireObject au lieu de FirebaseObjectObservable et AngularFireList au lieu de FirebaseListObservable, cela a été mis à jour depuis AngularFire5

si vous voulez plus de détails sur le paiement https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md

0
Gagan K R