Swagger Angular客户端抱怨缺少HTTPClientModule,即使它正在导入

时间:2018-04-22 17:54:05

标签: angular typescript swagger-codegen

我使用Swagger Codegen为后端的REST API生成了一个TypeScript / Angular客户端,并尝试在我的Angular项目中使用它。在生成自动翻译文件后,我yarn link将客户的dist/文件夹编入我的项目node_modules并更新了我的app.module.ts,如下所示:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http'; // <-- Added this line

import { ApiModule } from '@my-project/rest-client'; // <-- and this one

import { AppComponent } from './app.component';


@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule, // <-- and these
    ApiModule // <---------- two lines
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

结果:

  

错误:您需要在AppModule中导入HttpClientModule!看到   还https://github.com/angular/angular/issues/20575

给出了什么?!关于我做错了什么,我完全不知所措,并且非常感谢任何帮助。仅供参考,我还使用ng new创建了一个新的Angular项目,唯一的变化是将上述行添加到app.module.ts,结果结果相同。我正在使用:

  • Angular 5.2.10(对于我的项目和生成的客户端)
  • Angular CLI 1.7.4
  • This snapshot即将推出的Swagger Codegen 2.4.0
  • TypeScript 2.5.3(在我的项目中)和2.8.3(在生成的客户端中)

这个问题可能与我的项目和客户端之间的TypeScript版本的差异有关吗?我发现Swagger Codegen没有将TypeScript版本修复为与Angular 5.2.10使用的版本完全相同,但最终使用的是TypeScript 2.8.3,这有点奇怪。

0 个答案:

没有答案