插件支持的语言

本插件中, 我们将生成不同格式代码文件特性定义为语言。

niuhe/.config.json5 文件中,langs 字段支持的可选项有 go,ts,docs,protocol, route, vitescript 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。在 错误代码定义和检测 章节中, 展示了routecodes 结合实现更丰富功能例子。

vite

参考 xorm 代码生成, 在配置 niuhe/.model.niuhe 文件后,并添加 vite 语言支持时会通过 .model.niuhe 定义生成 vue3-element-admin 项目 对应的前端 curd 页面. 生成的页面位于项目根目录 vite 文件夹下,需要手动将内容复制到 vue3-element-admin 项目具体 .vue 文件中

script

生成将项目发布服务时需要的脚本文件和服务器配置文件, 如 nginx.conf, supervisor.conf 等。可根据发布服务偏好选择是否添加 script 语言支持。