2017-10-19 161 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什么的。