我正在使用:“@angular/core”:“^6.1.0”,...“@angular/fire”:“^5.0.2”,“firebase”:“^5.3.1”,
如果在我的 app.modules.ts 我有:
import { AngularFireModule } from '@angular/fire';
...
imports: [
...
AngularFireModule.initializeApp(environment.firebase),
...
]
在environments/environment.ts中使用我的firebase配置设置,
并在我的 authService
initAuthListener() {
this.afAuth.authState.subscribe(user => { ... }
}
然后我得到以下控制台错误,并且:
ERROR TypeError: Cannot read property 'firebaseApp' of undefined
at Object.get [as app] (http://localhost:4200/vendor.js:153576:31)
at http://localhost:4200/vendor.js:162834:9
at Array.forEach (<anonymous>)
at deepFreeze (http://localhost:4200/vendor.js:162831:33)
at http://localhost:4200/vendor.js:162837:7
at Array.forEach (<anonymous>)
at deepFreeze (http://localhost:4200/vendor.js:162831:33)
at http://localhost:4200/vendor.js:162837:7
at Array.forEach (<anonymous>)
at deepFreeze (http://localhost:4200/vendor.js:162831:33)
如果我然后按照https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md
或任何替代自定义应用程序名称将可选的自定义 FireBaseApp 名称添加到app.modules.ts
,比如说“123App”。控制台错误消失,firebase 工作。AngularFireModule.initializeApp(environment.firebase, 'firebaseApp'),
(更新:不接触此代码,仅在另一个区域更新了一些 firebase 功能,现在即使使用自定义应用程序名称,我也收到上述错误!发生了什么事)
为什么我需要设置可选名称才能使其工作,即使该名称可以是随机的并且没有真正的含义,因为在我的代码中的其他任何地方都没有使用?
同样在 vscode 中,app.modules.tsimport { AngularFireModule } from '@angular/fire';
的 @angular/fire 部分错误带有 msg 下划线[ts] cannot find module 'angularfire2'
,一切正常,但是我需要包含什么 @types 来清除此问题,或者自从我更改后 vscode 刚刚出现缓存问题最近从“angularfire2”到“@angular/fire”?