2017-10-19 84 views
7

Zbudowałem mój projekt Angular 4 przy użyciu Angular CLI. Wdrażam swoją aplikację na Heroku, stworzyłem potoki heroku dla środowiska programistycznego i produkcyjnego. Mam dwie Firebase dev bazy danych oraz produkcję i chcę moje kątowe 2 aplikacje do łączenia się z Firebase bazie danych na podstawie Heroku zmiennych konfiguracyjnychFirebase Angular 4 Initialize na podstawie środowiska węzłowego

Szukałem na google i znalazłem ten answer pomocny jak @ joni-Rabinovitch zaproponował, aby wysłać HTTP żądanie na serwerze węzła, aby sprawdzał środowisko po uruchomieniu aplikacji.

Jestem początkujący w Angular 4 i maszynopisie, a wszystko, co trzeba wprowadzić to wysłanie żądania HTTP i zainicjowanie modułu firebase na podstawie odpowiedzi.

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 {} 

Każda pomoc będzie bardzo mile widziane

+0

Modified moja odpowiedź –

Odpowiedz

0

Można utworzyć funkcję, aby otrzymać konfigurację:

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

Dzięki za odpowiedź Otrzymuję ten błąd Właściwość "getFirebaseConfig" nie istnieje na typ "typeof AppModule" – ishaqbhojani

+0

Tak, ponieważ HttpClient jest asy nchronous, musisz poczekać na zakończenie żądania –

+0

. Czy mogę zwrócić obietnicę z getFirebaseConfig, która rozwiązuje konfigurację firebase? Jeśli tak, to w jaki sposób? – ishaqbhojani