2017-10-19 4 views
7

Ich habe mein Angular 4-Projekt mit dem Angular CLI erstellt. Ich bin meine App auf Heroku bereitstellen, ich habe Heroku-Pipelines für Entwickler und Produktionsumgebung erstellt. Ich habe zwei Feuerbasis Datenbank Entwickler und Produktion, und ich möchte, dass meine Winkel 2 apps auf die Feuerbasis Datenbank basierend auf Heroku KonfigurationsvariablenFirebase Angular 4 Initialisieren basierend auf der Knotenumgebung

Ich suchte auf Google und fand diese answer hilfreich als @ Yoni-Rabinovitch vorgeschlagen verbinden eine HTTP senden Anforderung auf dem Knotenserver, nach der Umgebung zu suchen, wenn die App initialisiert wird.

Ich bin ein Anfänger in Angular 4 und Typoskript und alles, was ich implementieren muss, ist eine HTTP-Anfrage zu senden und das Firebase-Modul basierend auf der Antwort zu initialisieren.

app.module.ts

import { environment } from '../environments/environment'; 

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    HttpClientModule, 
    FormsModule, 
    ReactiveFormsModule, 
    BrowserAnimationsModule, 
    AngularFireModule.initializeApp(environment.firebase) 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule {} 

Jede Hilfe sehr

geschätzt würde
+0

meine Antwort Modified –

Antwort

0

Sie eine Funktion erstellen können, die Konfiguration zu erhalten:

import { environment } from '../environments/environment'; 

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    HttpClientModule, 
    FormsModule, 
    ReactiveFormsModule, 
    BrowserAnimationsModule, 
    AngularFireModule.initializeApp(AppModule.getFirebaseConfig()) 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
    static getFirebaseConfig(): FirebaseAppConfig { 
    // do http request 

    // return correct correct configuration depending on http request 
    return environment.firebase; 
    } 
} 
+0

Danke für die Antwort Ich erhalte diesen Fehler Eigenschaft 'getFirebaseConfig' existiert nicht auf Typ 'typeof AppModule' – ishaqbhojani

+0

Ja, weil HttpClient asy ist nicht synchron, müssen Sie auf die Anforderung warten, um zu beenden –

+0

Kann ich auch eine Zusage von getFirebaseConfig zurückgeben, die Firebase-Konfiguration löst? Wenn ja, wie? – ishaqbhojani

Verwandte Themen