我正在使用 angular5Firebase version 4.13.1angularfire2 of version 5.0.0-rc.6.0 进行社交媒体登录 . 在用facebook实现登录时,当我调用facebookLogin函数时,我得到的错误就像

ERROR TypeError: Cannot read property 'FacebookAuthProvider' of undefined

我没有重现这个错误 . 这是我的代码:

auth.service.ts

import { Injectable } from '@angular/core';
import { AngularFireDatabaseModule, AngularFireDatabase } from 'angularfire2/database';
import { AngularFireAuth } from 'angularfire2/auth';
import { Router } from "@angular/router";
import * as firebase from 'firebase';


@Injectable()
export class AuthService {

  authState: any = null;

  constructor(private afAuth: AngularFireAuth,
          private db: AngularFireDatabase,
          private router:Router) {

  this.afAuth.authState.subscribe((auth) => {
    this.authState = auth
   });
 }


  facebookLogin() {
    const provider = new firebase.auth.FacebookAuthProvider()
    return this.socialSignIn(provider);
  }
}

login.component.ts

import {Component, OnInit} from '@angular/core';
import {Router} from '@angular/router';

import {AuthService} from '../shared/services/auth.service';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {

  constructor(private router: Router, private authService: AuthService) {
  }

  ngOnInit() {
  }

  loginWithFacebook() {
    this.authService.facebookLogin()
  }
}

login.html

<button (click)="loginWithFacebook()">login with facebook</button>