swagger:https://swagger.io/
vite-plugin-swagger-typescript-api:https://github.com/CaoMeiYouRen/vite-plugin-swagger-typescript-api
最近发现了 swagger-typescript-api 这个有趣的包,可以根据 swagger 自动生成 typescript api 接口,前端直接省去了对接的工夫。我在想如果和 vite 对接,那么不就能实现自动化了吗?
说干就干,本人编写了 vite-plugin-swagger-typescript-api
这个 npm 包,该插件只有一个功能,就是在 vite 开发环境下自动调用 swagger-typescript-api
生成 typescript api 接口,在生产环境下不会调用。
安装
# 本插件依赖 swagger-typescript-api、vite ,故需要先安装
npm i -D swagger-typescript-api vite
npm i -D vite-plugin-swagger-typescript-api
使用
// 在 vite.config.ts 文件中添加如下配置
import { defineConfig } from 'vite'
import { vitePluginSwaggerTypescriptApi } from 'vite-plugin-swagger-typescript-api'
// vite 相关配置请参考 https://vitejs.dev/config/
export default defineConfig({
plugins: [
vitePluginSwaggerTypescriptApi({ // swagger-typescript-api 的配置,具体可参考 https://github.com/acacode/swagger-typescript-api
name: 'myApi.ts', //要生成的文件名称
output: path.resolve('./src/apis'), // 生成的文件所在的文件夹,注意要使用 path.resolve 解析出绝对路径,否则路径可能会有错误
input: path.resolve('./swagger.json'), // 从本地文件载入,路径问题同 output
url: "http://api.com/swagger.json", // 如果从远程接口载入
httpClientType: 'axios', // or "fetch" 生成的接口类型
})
]
})
在执行 vite
命令后可在 src\apis\myApi.ts
路径看到生成的文件,每次启动开发环境时会去生成 api 文件,生产环境(编译时)不会调用。
更多内容请参考插件文档。
- 本文链接: https://wp.cmyr.ltd/archives/automatically-generate-typescript-interface-based-on
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
欢迎关注我的其它发布渠道
发表回复
要发表评论,您必须先登录。