无法阅读财产' FacebookAuthProvider'未定义的

时间:2018-04-23 21:28:52

标签: angular firebase facebook-login angularfire2

我试图使用角度火力基地并与Facebook联系,但我得到了这个错误:

AppComponent.html:2 ERROR TypeError: Cannot read property 'FacebookAuthProvider' of undefined
at AuthService.signInWithFacebook (auth.service.ts:26)
at AppComponent.signInWithFacebook (app.component.ts:20)
at Object.eval [as handleEvent] (AppComponent.html:2)
at handleEvent (core.js:13589)
at callWithDebugContext (core.js:15098)
at Object.debugHandleEvent [as handleEvent] (core.js:14685)
at dispatchEvent (core.js:10004)
at eval (core.js:10629)
at HTMLButtonElement.eval (platform-browser.js:2628)
at ZoneDelegate.invokeTask (zone.js:421)

我尝试更改firebase版本并更改依赖项,到目前为止没有任何效果。

依赖关系:

"angularfire2": "^5.0.0-rc.6.0",
    "core-js": "^2.4.1",
    "firebase": "4.13.1",
    "rxjs": "^5.5.6",
    "zone.js": "^0.8.19",
    "@firebase/app": "^0.1.10"

auth.service.ts:

import { Injectable } from '@angular/core';
import { Router } from "@angular/router";
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class AuthService {
  private user: Observable<firebase.User>;
  private userDetails: firebase.User = null;
constructor(private _firebaseAuth: AngularFireAuth, private router: Router) { 
      this.user = _firebaseAuth.authState;
this.user.subscribe(
        (user) => {
          if (user) {
            this.userDetails = user;
            console.log(this.userDetails);
          }
          else {
            this.userDetails = null;
          }
        }
      );
  }
signInWithFacebook() {
    return this._firebaseAuth.auth.signInWithPopup(
      new firebase.auth.FacebookAuthProvider()
    )
  }

我在做什么? 感谢

2 个答案:

答案 0 :(得分:0)

你在导入中错过了@。

import { firebase } from `@firebase/app'

答案 1 :(得分:-1)

对我有用的是更改我home.ts中的导入声明:

import firebase from 'firebase';