Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Integrating firebase into standalone component

I have a project which is a social app made with ionic angular and I want to include the firebase imports in it

provideFirebaseApp(() => initializeApp(environment.firebase)),
provideFirestore(() => getFirestore())

The issue is that those imports should be in the app.module.ts file while the current component is a standalone component. I don't know where to put the imports as I should import:

import { provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
import { getFirestore, provideFirestore } from '@angular/fire/firestore';
like image 262
Xyz.WebDeveloper Avatar asked Oct 11 '25 10:10

Xyz.WebDeveloper


2 Answers

Maybe you need to provide your firebase app on application bootstrapping like this:

bootstrapApplication(YourComponent, {
  providers: [
    importProvidersFrom(
      provideFirebaseApp(() => initializeApp(environment.firebase))
    ),
    importProvidersFrom(
      provideFirestore(() => getFirestore())
    )
  ]
});
like image 199
SirOneOfMany Avatar answered Oct 15 '25 03:10

SirOneOfMany


This seems like a pretty good solution. disclaimer: I'm new to standalone

main.ts

if (environment.production) {
  enableProdMode();
}

bootstrapApplication(AppComponent, {
  providers: [
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    importProvidersFrom(IonicModule.forRoot()),
    provideRouter(routes),
    importProvidersFrom(provideFirebaseApp(() => initializeApp(environment.firebase))),
    importProvidersFrom(provideAnalytics(() => getAnalytics())),
    importProvidersFrom(provideAuth(() => getAuth())),
    importProvidersFrom(provideFirestore(() => getFirestore())),
    ScreenTrackingService,
    UserTrackingService,
  ],
});
like image 38
kneeki Avatar answered Oct 15 '25 03:10

kneeki