在带有 Angular 5 的 Ionic 3 中,我试图在一个app.config.ts
文件中定义我所有的外部 API 密钥。
我必须声明一个类,否则我会收到 ngc 引发的 AOT 错误。
这是我的 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
. 所以我尝试执行以下操作//配置
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';
}
}
任何想法?