插件支持的语言
本插件中, 我们将生成不同格式代码文件特性定义为语言。
在 niuhe/.config.json5 文件中,langs 字段支持的可选项有 go,ts,docs,protocol, route, vite 和script 7个值,其中 go 为默认支持的语言。下面对不同语言的特性进行说明
go
生成基础的 Go 代码,包括 API 接口定义, 路由管理, 基础数据库的 xorm 功能。在 niuhe 文件中进行定义后,开发时专注于具体逻辑开发即可,无需关心路由、请求参数解析等细节。
ts
参考 生成 typescript api 定义. 生成 TypeScript types 和 api 文件内容,interface 名称,字段名,字段说明, api 路由等同 niuhe 文件一一对应。生成代码后同 niuhe 文件保持同步。写前端代码时不用再对着协议文档手敲一份,减少了不必要的重复工作,同时避免了由于手动输入导致的错误。
docs
生成 Swagger 2.0 文档,方便 API 测试软件如 apifox(推荐), postman 等使用,在测试软件中通过文件/url 导入后即可直接进行 api 测试, 不需要再手动维护协议文档。生成的文档位于 docs/swagger.json
protocol
参考 生成其他协议, 生成简明扼要(同 swagger 而言)的 json 格式的协议文档, 方便开发者拓展为其他语言。生成的文档位于 docs/protocol.json
route
生成路由文件,方便开发者对 API 进行管理。如增加 api 级权限处理等。 生成的文档位于 src{appName}/app/{mode}/protos/gen_routes.go。在 错误代码定义和检测 章节中, 展示了route 同 codes 结合实现更丰富功能例子。
vite
参考 xorm 代码生成, 在配置 niuhe/.model.niuhe 文件后,并添加 vite 语言支持时会通过 .model.niuhe 定义生成 vue3-element-admin 项目 对应的前端 curd 页面. 生成的页面位于项目根目录 vite 文件夹下,需要手动将内容复制到 vue3-element-admin 项目具体 .vue 文件中
script
生成将项目发布服务时需要的脚本文件和服务器配置文件, 如 nginx.conf, supervisor.conf 等。可根据发布服务偏好选择是否添加 script 语言支持。