Я пытаюсь использовать angular firebase и подключиться к 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.info(this.userDetails);
}
else {
this.userDetails = null;
}
}
);
}
signInWithFacebook() {
return this._firebaseAuth.auth.signInWithPopup(
new firebase.auth.FacebookAuthProvider()
)
}
что я делаю в ношении? Благодарность





Что сработало для меня, так это изменение оператора импорта в моем home.ts:
import firebase from 'firebase';
Ответы должны быть на английском языке meta.stackexchange.com/questions/13676/…. Я попробовал перевести ваш ответ на английский. Имейте в виду, что существует также переполнение стека для испанского языка es.stackoverflow.com
Что, если им интересно, потому что они не переводят? удача
Это проблема, я думаю, что решение всегда использовать английский язык в этом переполнении стека заключается в том, что другие пользователи должны иметь возможность прочитать ваш ответ. Если вдруг вопросы будут на китайском, ответы на испанском и комментарии на русском, никто не поймет, и качество может упасть или люди могут уйти. Suerte;) а точнее, с уважением!
Вам не хватает @ в импорте.
import { firebase } from `@firebase/app'
Такая же ошибка возникает с последней стабильной версией на AngularFire2? Похоже, это ошибка RC. Где находится код в auth.service.ts, который вызывает новый FacebookAuthProvider? См. как спросить и создание mcve.