我正在使用 angular5 与 Firebase version 4.13.1 和 angularfire2 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>