2017-10-19 164 views
0

我一直沿繼Traversy媒體上Udemy和所有的Angular4 course順利,直到我到了客戶端面板項目的AngularFire2設置&客戶服務部分。 Webpack無法編譯,指出: FirebaseListObservableFirebaseObjectObservable沒有導出成員。AngularFire更新打破了應用程序

我看到一些人提高similar issues on GitHub,但無法弄清楚如何解決它。我也嘗試了教練提供的確切代碼(這是最後的手段,因爲我寧願自己弄清楚),但那也行不通。 Angularfire2版本:4.0.0-RC.1

錯誤消息: Webpack fails to compile

這裏是client.service.ts文件:

import { Injectable } from '@angular/core'; 
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable} from 'angularfire2/database'; 
import { Observable } from 'rxjs'; 
import { Client } from '../models/Client'; 

@Injectable() 
export class ClientService { 
    clients: FirebaseListObservable<any[]>; 
    client: FirebaseObjectObservable<any>; 

    constructor(
    public af:AngularFireDatabase 
) { 
    this.clients = this.af.list('/clients') as FirebaseListObservable<Client[]>; 
    } 

    getClients(){ 
    return this.clients; 
    } 

    newClient(client:Client){ 
    this.clients.push(client); 
    } 

    getClient(id:string){ 
    this.client = this.af.object('/clients/'+id) as FirebaseObjectObservable<Client>; 
    return this.client; 
    } 

    updateClient(id:string, client:Client){ 
    return this.clients.update(id, client); 
    } 

    deleteClient(id:string){ 
    return this.clients.remove(id); 
    } 

} 

這是顯示錯誤的唯一文件VS Code linter: No exported member error

在此先感謝您的任何有幫助的見解。

+1

您目前正在使用候選版本,嘗試更新爲'4.0'或'5.0',然後按照下面的描述導入它。 – Orlandster

回答

1

在過去的幾個版本中,有三種不同的方式來導入數據庫觀察值。 <

4.0版:

import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from "angularfire2"; 

版本> 4.0:

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

版> 5.0:

由於5.0您可以正常使用observables代替或從這樣的棄用目錄導入:

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

我會建議您將版本升級從rc4.0什麼的。