Javascript Swagger Codegen:如何将所有文件合并到一个文件中以生成客户端代码

Javascript Swagger Codegen:如何将所有文件合并到一个文件中以生成客户端代码,javascript,angular,express,swagger,swagger-codegen,Javascript,Angular,Express,Swagger,Swagger Codegen,我刚开始招摇和点头。我能够在我的NodeExpress应用程序中实现Swagger,也能够准确地使用Swagger Codegen(typescript Angular)生成typescript客户端代码 我遇到的一个问题是生成的代码分布在许多不同的文件中。我希望它只输出一个文件api.ts,它包含从api调用到接口/模型的所有内容 我一直在寻找解决这个问题的方法,因为随着后端的增长,很难读取和维护生成的客户端代码 如有任何建议或建议,将不胜感激 节日快乐!多谢各位 编辑:我已经为这个问题寻找了

我刚开始招摇和点头。我能够在我的NodeExpress应用程序中实现Swagger,也能够准确地使用Swagger Codegen(typescript Angular)生成typescript客户端代码

我遇到的一个问题是生成的代码分布在许多不同的文件中。我希望它只输出一个文件
api.ts
,它包含从api调用到接口/模型的所有内容

我一直在寻找解决这个问题的方法,因为随着后端的增长,很难读取和维护生成的客户端代码

如有任何建议或建议,将不胜感激

节日快乐!多谢各位


编辑:我已经为这个问题寻找了几天的答案,但仍然没有找到答案。我目前正在使用ASP.NET Core进行一个项目,他们有
NSwag
,它实现了我希望通过
节点Swagger

实现的目标。Swagger使用胡须模板生成代码。为了简化 更改您可以简单地创建和之一的副本 修改一下

然后,您可以使用修改后的模板,如下所示:

swagger-codegen-cli generate -t path/to/template/dir/ -i spec.json
但是,无法使用模板更改输出目录结构 单独地为此,您需要一个定制的codegen模块。您可以选择或修改其中一个。

TL;博士 您可以将所有文件编译成一个
*.ts
文件,如中所示

连续集成方法 Swagger代码生成器简化了维护,因为它允许您从连续集成的角度进行思考

您不应该担心代码审查或美学(因为它是机器生成的代码),而应该担心:

  • API版本控制
  • 函数、方法和类签名
  • 文件
如果您使用的是诸如Jenkins或Ansible之类的CI系统,则可以将库自动部署到(对于JS和TS)或(对于Java和Kotlin)

保持包版本号的一致更新将允许IDE正确地提示用户API的更新


谢谢。虽然我已经完成了整合工作,但这个答案提供了一个准确的解决方案。对于NPM软件包,如果您正确地提供了版本控制标记,您也可以使用GitHub存储库,如所示。我当前生成的是一个文件,而不是多个文件,我希望相反,您是否介意共享您的配置以完成此操作,以便o/p是多个文件而不是一个文件?我尝试对petStore.json使用它,它生成了一个file@Jaya在我回答之前,我可以问一下我们是否在同一页上吗?(typescript angular,swagger codegen 2.3.0)?我使用此处定义的
swagger js codegen:^1.12.0
,并为vuejs键入脚本。。基本上,尝试为公开其swagger.json文件的api生成ts模型和ts客户端。使用swagger codegen生成typescript获取客户端存根,您应该可以开始了;)