我有根一个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