Я делаю гибридное приложение AngularJS/Angular5. Поэтому я пытаюсь шаг за шагом изменить свои файлы JavaScript на Typescript. У меня был файл javascript:
(function () {
'use strict';
var domainPath = "http://localhost:26264/";
var reportAPI = "http://localhost:58629/";
var onlineHelpURL = "http://localhost:8085/";
var hh6ServiceUrl = "https://localhost:40100/";
var sysSettings = {
webServiceURL: domainPath,
hh6ServiceUrl: hh6ServiceUrl,
reportServiceURL: reportAPI,
onlineHelpURL: onlineHelpURL
};
angular.module('app.sysSettings', []).constant("sysSettings", sysSettings);
})();
и я изменил его в машинописном тексте, чтобы иметь возможность экспортировать его и повторно использовать настройки в моих машинописных файлах:
declare var angular: any;
let sysSettingsts = (function () {
'use strict';
var domainPath = "http://localhost:26264/";
var reportAPI = "http://localhost:58629/";
var onlineHelpURL = "http://localhost:8085/";
var hh6ServiceUrl = "http://localhost:40100/";
var sysSettings: any = {
webServiceURL: domainPath,
hh6ServiceUrl: hh6ServiceUrl,
reportServiceURL: reportAPI,
onlineHelpURL: onlineHelpURL
};
angular.module('app.sysSettings', []).constant("sysSettings", sysSettings);
return sysSettings;
})();
export default sysSettingsts;
Но когда я пытаюсь импортировать этот файл:
import { Injectable } from '@angular/core';
import { TranslateLoader } from '@ngx-translate/core';
import { Observable } from 'rxjs/Observable';
import {HttpClient} from "@angular/common/http";
import {sysSettingsts} from "angular/sysSettings";
@Injectable()
export class CustomTranslateLoader implements TranslateLoader {
constructor(private http: HttpClient,
private item: sysSettingsts) {
this.item = item;
}
getTranslation(lang: string): Observable<any>{
var apiAddress = this.item.domainPath + "api/GlobalResources/?lang=" + lang;
return Observable.create(observer => {
this.http.get(apiAddress, ).subscribe(res => {
observer.next(res);
observer.complete();
},
error => {
console.log("cannot retrieve Global Resources");
}
);
});
}
Я могу видеть только значения в import {sysSettingsts} from "angular/sysSettings"
; файл, но конструктор инсайтов my sysSettingsts не определен.
constructor(private http: HttpClient,
private item: sysSettingsts) {
this.item = item;
}
Я пытался использовать sysSettingsts непосредственно внутри метода, но значение тоже не определено... Может ли кто-нибудь дать мне понять, как я могу экспортировать выполнение функции в машинописном тексте или, по крайней мере, дать некоторое представление о том, как я могу импортировать настройки из моего машинописного файла в другие файлы машинописного текста (сделать настройки многоразовыми).
Спасибо