【问题标题】:Getting an error: "Has no exported member AngularFire, AuthProviders, AUthMethods, FirebaseListObservable" in AngularFire2?收到错误:AngularFire2 中没有导出成员 AngularFire、AuthProviders、AUthMethods、FirebaseListObservable?
【发布时间】:2017-10-14 21:52:12
【问题描述】:

我是 Angular 4 的新手,所以我正在使用 Angular 4 创建一个 firebase 聊天应用程序,然后当我导入一些这样的模块时:

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

对于每个显示

的模块,我都会收到错误消息

没有导出成员 AngularFire、AuthProviders、AUthMethods、FirebaseListObservable。

谢谢

【问题讨论】:

  • 你是什么版本的 angulafire2?
  • angularfire2 -v 不起作用。你知道如何检查版本吗?
  • 检查您的本地 package.json 或 package,json 中的 angularfire2
  • 版本为4.0.0

标签: angular typescript angular-cli angularfire2


【解决方案1】:

最新版本(版本 5.0.0-rc3):

出现此错误时,这意味着您使用的是旧的数据库 API。这可以通过从 已弃用 模块导入 FirebaseListObservable 来解决(另请参阅 @Ashish Jha 答案):

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

建议使用最新的 API,因为 AngularFire 5.0 为实时数据库带来了新的 API。参考升级guide


原始答案: AngularFire2 从 4.0.0+ 开始分离其模块。

如果您想使用 angularfire2 的身份验证,可以导入这两个模块,查看它们的更改 log

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

并导入AuthObservable(AuthMethods可以在AngularFireAuth中找到)输入:

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

【讨论】:

  • 其余的怎么样,这在我的问题中显示。现在,FirebaseListObservable 已导出,但其余的“AngularFire、AuthProviders、AuthMethods”未导出。而且,当我在终端中点击 ng serve 以查看我的应用程序时。我收到一个错误:“未正确安装“@angular/compiler-cli”包。”
  • 通过一点努力,您现在也可以找到其他人...只需查看此处提供的更改日志。您可以安装的角度编译器-cli: npm install --save-dev @angular/compiler-cli
  • @stevenvanc 在执行“npm install --save-dev @angular/compiler-cli”时我得到了 UNMET PEER DEPENDENCY @angular/compiler。
  • @Pengyy 正在获得未满足的同行依赖 @angular/compiler
  • 好的,我正在使用 "angularfire2": "^5.0.0-rc.3" 为此我无法导入 import {FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';显示为错误
【解决方案2】:

对我有用的解决方案是更改此行

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

import { AngularFireAuth } from 'angularfire2/auth';

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

您可以在此处阅读更多信息https://github.com/angular/angularfire2/blob/master/CHANGELOG.md

【讨论】:

  • 啊啊啊啊!!所有那些太快的变化......与火力基地一样混乱,与材料一样混乱。非常感谢
  • 不客气。新的更新使用了 AngularFirestore,它使用了一个简单的 Observable 而不是 FirebaseListObservable。这件事也让我很烦。
【解决方案3】:

使用 AngularFireObject 代替 FirebaseObjectObservable 和 AngularFireList 代替 FirebaseListObservable ,这已经从 AngularFire5 更新

如果您想了解更多详情,请查看 https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md

【讨论】:

  • 鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。请参阅:How to anwser
猜你喜欢
  • 2017-10-02
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-20
  • 2018-06-16
  • 2019-05-26
相关资源
最近更新 更多