2017-05-16 35 views
6

Jestem nowy kątowy 4, więc jestem tworzenie Firebase czat aplikację z Kątowymi 4, a następnie, kiedy importować kilka modułów tak:Błąd: "Czy nie wyeksportowano elementu AngularFire, AuthProviders, AUthMethods, FirebaseListObservable" w AngularFire2?

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

otrzymuję komunikat o błędzie dla każdego modułu, który mówi

Has no exported member AngularFire, AuthProviders, AUthMethods, FirebaseListObservable.

Dziękuję

+0

co ty wersja angulafire2? – Pengyy

+0

angularfire2 -v nie działa. czy wiesz, jak sprawdzić wersję? –

+0

sprawdź lokalny pakiet package.json lub 'package, json' w' angularfire2'. – Pengyy

Odpowiedz

12

na bieżąco (w wersji 5.0.0-RC3):

While Getti W przypadku tego błędu oznacza to, że używasz starego interfejsu API bazy danych. Można to rozwiązać poprzez importowanie FirebaseListObservable z depracated modułu (patrz także @Ashish Jha odpowiedź):

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

Zaleca się korzystać z najnowszych API od AngularFire 5.0 przynosi nowe API dla bazy danych w czasie rzeczywistym. Zobacz aktualizację guide.


ORIGINAL ODPOWIEDŹ: AngularFire2 ma oddzielić jego moduły od 4.0.0+.

można importować te dwa moduł, jeśli chcesz używać auth z angularfire2 zobacz ich zmianę log:

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

i importować Auth i Observable (AuthMethods można znaleźć w AngularFireAuth) typ przez:

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

Co z resztą, która jest pokazana w moim pytaniu. Teraz FirebaseListObservable wyeksportował, ale pozostałe "AngularFire, AuthProviders, AuthMethods" nie zostały wyeksportowane. A także, kiedy trafiam Ng służyć w terminalu, aby zobaczyć moją aplikację. Wystąpił błąd: "Pakiet" @ Angular/Compiler-Cli "nie został poprawnie zainstalowany." –

+1

Przy odrobinie wysiłku możesz znaleźć tych innych teraz ... Wystarczy spojrzeć w dziennik zmian, który tutaj podano. Kątowy kompilator-cli możesz zainstalować jak: npm install --save-dev @ kątowy/kompilator-cli – stevenvanc

+0

@stevenvanc podczas wykonywania "npm install --save-dev @ kątowy/kompilator-cli" Otrzymuję UNMET PEER DEPENDENCY @angular /kompilator. –

6

Rozwiązaniem, które zadziałało dla mnie, była zmiana tej linii:

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

do

import { AngularFireAuth } from 'angularfire2/auth'; 

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

Możesz przeczytać więcej na ten temat tutaj https://github.com/angular/angularfire2/blob/master/CHANGELOG.md

+1

ahhhrrr !! wszystkie te zbyt szybkie zmiany ..... ten sam bałagan z firebase, ten sam bałagan z materiałem. THX ALOT – bresleveloper

+0

Nie ma za co. Nowa aktualizacja używa AngularFirestore i używa prostego obserwowalnego zamiast FirebaseListObservable. To też mnie wkurzyło. – thedreamsaver