我需要手动在main.ts中实例化Http。我使用HTTP_PROVIDERS找到了一些答案,如下所示,但看起来不推荐使用HTTP_PROVIDERS。知道我该怎么办?
const injector = ReflectiveInjector.resolveAndCreate([HTTP_PROVIDERS]);
const http = injector.get(Http);
我将使用此http对象来调用服务器并在响应中引导appmodule。如下所示。
http.get("app/config/config.json").map(res => res.json()).subscribe(resp=>{
platformBrowserDynamic().bootstrapModule(AppModule);
})
答案 0 :(得分:1)
您可以使用Fetch API:
fetch('config.json').then(res => res.json()).then((resp) =>{
console.log(resp);
platformBrowserDynamic().bootstrapModule(AppModule);
})
答案 1 :(得分:0)
我需要调用控制器从配置文件中获取环境信息,而不是使用environment.ts,这就是我做到的方式,我认为它可以为您提供帮助
Main.ts
fetch("/SomeControllerEndpoint").then(function (response) {
response.json().then(function (response) {
if (response.status === "success" && response.result.toLowerCase().indexOf('prod') !== -1) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.then(() => InitializeApp())
.catch(err => console.error(err));
});
因此,这种方式是在引导应用程序之前应用自定义代码。