import {Inject, Injectable} from '@angular/core'; import {HttpClient, HttpXhrBackend} from '@angular/common/http'; import {Observable} from 'rxjs'; @Injectable() export class AppConfig { private config: Object = null; private httpClient: HttpClient; constructor(xhrBackend: HttpXhrBackend) { this.httpClient = new HttpClient(xhrBackend); this.config = null; } public getConfig(key: any) { if (!this.config.hasOwnProperty(key)) { console.log(`Config key ${key} not set`); } return this.config[key]; } public load(): Promise { return this.httpClient.get('/configuration.json') .toPromise() .then(data => { this.config = data; //return data; }) .catch(error => this.config = null); }; }