我正在开发一个有角度的应用程序。该应用程序使用各种Firebase服务,包括身份验证。 我还将firebaseui用于登录活动。
当我通过ng serve
测试应用程序时,一切运行正常且符合预期。但是,当我将构建的应用程序部署到Firebase托管时,出现以下错误:
npm.js:73 Uncaught TypeError: Cannot read property 'Promise' of undefined
at da (npm.js:73)
at npm.js:74
at npm.js:425
at Object../node_modules/firebaseui/dist/npm.js (npm.js:425)
at __webpack_require__ (bootstrap:83)
at Module../src/app/login/login.component.ts (main-es2015.js:277)
at __webpack_require__ (bootstrap:83)
at Module../src/app/login/login.module.ts (login.component.ts:10)
at __webpack_require__ (bootstrap:83)
at Module../src/app/app.module.ts (app.component.ts:8)
我已经弄清楚了,这个问题显然与firebaseui有关,但是我找不到通过ng serve
在本地按预期运行一切的原因,只有已构建的应用程序会导致错误。
你们中的任何人都已经遇到过类似的问题,也许是解决该问题的方法吗?
顺便说一句,我正在使用以下版本的相关依赖项:
"@angular/compiler": "~8.0.1",
"@angular/core": "~8.0.1",
"@angular/fire": "^5.2.1",
"@angular/forms": "~8.0.1",
"@angular/platform-browser": "~8.0.1",
"@angular/platform-browser-dynamic": "~8.0.1",
"@angular/router": "~8.0.1",
"firebase": "^6.2.2",
"firebaseui": "^4.0.0"
还有登录组件,我实际上将其称为firebaseui:
import {Component, OnInit} from '@angular/core';
import * as firebaseui from 'firebaseui';
import {AngularFireAuth} from '@angular/fire/auth';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private auth: AngularFireAuth) {
}
ngOnInit() {
const uiConfig = {
signInSuccessUrl: '/app',
signInOptions: [
'google.com',
'github.com',
'facebook.com',
'password'
],
tosUrl: '',
privacyPolicyUrl: ''
};
const ui = new firebaseui.auth.AuthUI(this.auth.auth);
ui.start('#firebaseui-auth-container', uiConfig);
}
}
谢谢!