В Ionic 3 с Angular 5 я пытаюсь определить все свои внешние ключи API внутри файла app.config.ts
.
Я должен объявить класс, иначе я получу ошибку AOT, вызванную ngc.
Вот мой app.config.ts
import { Injectable } from '@angular/core';
@Injectable()
export class AppConfig {
public ONESIGNAL_API_KEY: string;
public FIREBASE_CONFIG: any;
public MIXPANEL_TOKEN: string;
constructor() {
this.ONESIGNAL_API_KEY = 'myoskey';
this.FIREBASE_CONFIG = {
apiKey: "myfbkey",
authDomain: "myfbdomain
};
this.MIXPANEL_TOKEN = 'mymptoken';
}
}
Я могу внедрить его в конструкторы других классов, но firebase должен быть инициализирован в app.module.ts
. Итак, я попытался сделать следующее // Config
import {AppConfig} from './app-config';
...
imports: [
BrowserModule,
HttpClientModule,
IonicModule.forRoot(MyApp, {
backButtonText: '',
tabsHideOnSubPages: true,
//scrollAssist: true,
//autoFocusAssist: true
}),
IonicStorageModule.forRoot(),
IonicImageLoader.forRoot(),
AngularFireModule.initializeApp(AppConfig.FIREBASE_CONFIG),
....
К сожалению, я получаю следующую ошибку Property 'FIREBASE_CONFIG' does not exist on type 'typeof AppConfig'.
Как можно объявить FIREBASE_CONFIG
в этом файле app.config
и напрямую использовать его в app.module
?
Я попытался напрямую инициализировать переменную перед конструктором, но тот же результат
import { Injectable } from '@angular/core';
@Injectable()
export class AppConfig {
public ONESIGNAL_API_KEY: string;
public FIREBASE_CONFIG: any = {
apiKey: "myfbkey",
authDomain: "myfbdomain
};
public MIXPANEL_TOKEN: string;
constructor() {
this.ONESIGNAL_API_KEY = 'myoskey';
this.MIXPANEL_TOKEN = 'mymptoken';
}
}
Есть идеи?