项目文档
1. 基本介绍
1.1 项目介绍
Go Generate是一个基于Go"html/template" 的代码自动生成项目,只需要简单的配置即可根据模板自动生成CURD 模板文件在/resource目录下 配置文件 gen_config.yaml
2. 使用说明
- golang version >= v1.11
- IDE recommendation: Goland
3. 技术选型
- 数据库:,使用
gorm对数据库的基本操作。 - 配置文件:使用
fsnotify和viper实现yaml格式的配置文件。 - 日志:使用
go-logging实现日志记录。
4. 目录结构
├─server (backend)
├─config (config file)
├─core (core code)
├─global (global objet)
├─handler (handler)
├─initialiaze (initialiazation)
├─model (model and services)
├─service (services)
└─utils (common utilities)
5. 配置说明
- project:项目名、(项目目录)导包时需要用到
- tableName:需要生成CURD的数据库表名,支持多个表同时生成,用英文逗号分隔
- gotpl.package:代码存放路径,可以直接定义到对应的文件夹下
- gotpl.tplpath:文件模板对应目录,目前仅支持外挂目录(修改灵活)
- 文件名会根据表名自动生成,格式为tableName.type
project: "GoGenerate" tableName: "t_campaigns,t_delearship_enrolls" gotpl: - {package: autoCode/api/,tplpath: ./resource/template/te/api.go.tpl} - {package: autoCode/model/,tplpath: ./resource/template/te/model.go.tpl} - {package: autoCode/router/,tplpath: ./resource/template/te/router.go.tpl} - {package: autoCode/service/,tplpath: ./resource/template/te/service.go.tpl} - {package: autoCode/fe/,tplpath: ./resource/template/fe/api.js.tpl} - {package: autoCode/fe/,tplpath: ./resource/template/fe/table.vue.tpl}
6.项目运行
- 项目理论上支持全平台,需要将编译后的可执行文件以及gen_config.yaml、/resource放在同一目录下
- Mac/Linux: ./GoGenerate 即可
- Windows:双击运行即可