我有根一個JSON文件:如何啓動一個JSON配置文件的角2模塊,而無需使用http.get方法
config.json
{ "base_url": "http://localhost:3000" }
,並在我的服務類,我想以這種方式來使用它:
private productsUrl = config.base_url + 'products';
我發現噸的職位與要求http.get請求加載一個文件來獲得,要麼解決方案的一個變量或角過時的解決方案。 js(角1)
我不相信沒有一個更簡單的方法來包括我們已經有了這個文件,而無需向服務器發出額外的請求。
在我看來,我本來預計至少引導功能將能夠提供這種功能,是這樣的:
platformBrowserDynamic().bootstrapModule(AppModule, { config: config.json });
順便說一句,這工作,但它不是理想的解決方案:
export class Config {
static base_url: string = "http://localhost:3004/";
}
,並使用它在你需要它:
private productsUrl = Config.base_url + 'products';
它並不理想,因爲我將不得不在構建腳本中創建類(或替換屬性)。 (正是我想要做的config.json文件)。
我仍然更喜歡config.json文件的方法,因爲它不會侵入TypeScript編譯器。任何想法如何做是值得歡迎的,真的很感激!
你可以看看Angular CLI如何管理'.environment.ts'文件,這是解決這個問題的方法之一 - https://github.com/angular/angular-cli/wiki/build#build-targets -and-environment-files – jonrsharpe
該鏈接僅指構建過程,我需要應用程序運行時的變量。我已經有了我需要用於構建的環境變量,主要問題是將這些變量注入到應用程序中。 – WilliamX
在這種情況下,它將很大程度上取決於您如何部署應用程序,而您尚未提及該應用程序。爲了將一些特定於env的狀態轉換爲靜態部署的Angular應用程序,我們使用了服務器端包含,但目前尚不清楚這是否是您的選擇。 – jonrsharpe