如何在Angularfire中使用firebase.initializeApp(无Angularfire)?

如何在Angularfire中使用firebase.initializeApp(无Angularfire)?,angular,firebase,Angular,Firebase,大多数建议是在@NgModule({})之前的app.module.ts中执行(例如或),或者在顶级AppComponent的构造函数中执行。例如: //app.module.ts 从“firebase/app”导入*作为firebase; 从“../environments/environment”导入{environment}; firebase.initializeApp(environment.firebaseConfig); 我之所以认为这是一个好方法,是因为我可以从多个服务访问同一

大多数建议是在
@NgModule({})
之前的
app.module.ts
中执行(例如或),或者在顶级
AppComponent
的构造函数中执行。例如:

//app.module.ts
从“firebase/app”导入*作为firebase;
从“../environments/environment”导入{environment};
firebase.initializeApp(environment.firebaseConfig);
我之所以认为这是一个好方法,是因为我可以从多个服务访问同一个firebase实例。然而,尽管在我的一个应用程序中成功地使用了此方法,但我无法从任何其他应用程序复制欲望行为。特别是,当尝试从服务访问
firebase
实例时:

从'@angular/core'导入{Injectable};
从“firebase/app”导入*作为firebase;
导入“firebase/auth”;
const auth=firebase.auth();
@可注射({providedIn:'root'})
导出类身份验证服务{
构造函数(){
//尝试访问当前用户,应返回null或用户
//它可以是任何函数,我举个例子
console.log(auth.currentUser);
}
}
我总是收到一个错误:

未捕获的Firebase错误:Firebase:未创建Firebase应用程序“[默认]”-调用Firebase App.initializeApp()(应用程序/无应用程序)


初始化firebase应用程序以使所有服务都可以访问同一firebase实例的正确方法是什么?最好不要仅仅依靠创建一个新服务来处理这个问题。

第二个代码片段中的代码似乎没有导入
app.module.ts
,这意味着
firebase.initializeApp(environment.firebaseConfig)
不会运行。@FrankvanPuffelen:谢谢你的回复,但我还是有点困惑。
app.module.ts
不是无论如何都要执行的顶级模块吗(因为它会引导应用程序)?如何在服务中“导入”
app.module.ts
?我以前从未听说过。第二个代码段中的代码似乎没有导入
app.module.ts
,这意味着
firebase.initializeApp(environment.firebaseConfig)
没有运行。@FrankvanPuffelen:谢谢您的回复,但我还是有点困惑。
app.module.ts
不是无论如何都要执行的顶级模块吗(因为它会引导应用程序)?如何在服务中“导入”
app.module.ts
?我以前从未听说过。