http.get()无效,但fetch()在AppModule.ngDoBootstrap()上有效,angular8

时间:2019-11-15 03:39:57

标签: angular

当我尝试在启动app.component之前加载环境配置时,首先我使用HttpClient http.get()从资产中加载environment.json:

service

  init() {
    const url = 'assets/config/environment.json';
    return this.http.get<any>(url);
  }

app.module

export class AppModule implements DoBootstrap {
// ...
  ngDoBootstrap(appRef: ApplicationRef) {
    this.commonService.init().subscribe(env => {
      console.log(`env init`, env);
      appRef.bootstrap(AppComponent);
      // ...
    });

它不起作用。


然后我改用fetch(),它可以工作.....但是我不知道为什么

service

  init() {
    return from(
      fetch('assets/config/environment.json', {
        method: 'GET'
      })
    );
  }

app.module

export class AppModule implements DoBootstrap {
// ...
  ngDoBootstrap(appRef: ApplicationRef) {
    this.commonService.init().subscribe(env => {
      console.log(`env init`, env);
      appRef.bootstrap(AppComponent);
      // ...
    });

Angular CLI: 8.3.5
Node: 12.12.0
OS: win32 x64
Angular: 8.2.7
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.6
@angular-devkit/build-angular     0.803.6
@angular-devkit/build-optimizer   0.803.6
@angular-devkit/build-webpack     0.803.6
@angular-devkit/core              8.3.5
@angular-devkit/schematics        8.3.5
@angular/cdk                      8.2.1
@angular/cli                      8.3.5
@ngtools/webpack                  8.3.6
@schematics/angular               8.3.5
@schematics/update                0.803.5
rxjs                              6.5.3
typescript                        3.5.3
webpack                           4.39.2

1 个答案:

答案 0 :(得分:0)

Fetch不需要导入任何库即可使用Angular来说明它为什么起作用。

对于Http,您必须将HttpClient用户导入服务中,并且app.module也要导入HttpClientModule

  

您可以提供更多信息吗?因此我们将为

提供帮助      

-在serviceapp.module中完成了什么导入?
    -控制台中有任何错误吗?

您也可以参考this