У меня есть необходимость использовать конфигурацию по умолчанию с хостинга Firebase для приложения, потому что я развертываю его в нескольких проектах.
Если бы это было обычное html-приложение, вы бы использовали:
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="/__/firebase/6.1.0/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#reserved-urls -->
<!-- Initialize Firebase -->
<script src="/__/firebase/init.js"></script>
Но я использую угловое приложение, поэтому хочу внедрить его при инициализации модуля приложения.Я пытался сделать что-то вроде этого:
let firebaseConfig = environment.firebase;
if (environment.production) {
console.log('loading init');
fetch('/__/firebase/init.json').then(async response => {
firebaseConfig = await response.json();
});
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AngularFireModule.initializeApp(firebaseConfig),
Это только часть моего модуля приложения, но вы можете отчасти понять идею.Если он находится в рабочем состоянии, я хочу получить его из init.json
, но если нет, я хочу получить его из настроек среды.
И, поскольку это асинхронная операция, как я могу заставить ее работать?