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