Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cyhhao/gin-frame
一个基于 gin 的脚手架(A Gin-based Scaffold)
https://github.com/cyhhao/gin-frame
example gin scaffold
Last synced: about 3 hours ago
JSON representation
一个基于 gin 的脚手架(A Gin-based Scaffold)
- Host: GitHub
- URL: https://github.com/cyhhao/gin-frame
- Owner: cyhhao
- Created: 2019-01-18T06:05:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-18T09:59:18.000Z (over 5 years ago)
- Last Synced: 2024-03-21T01:42:27.811Z (8 months ago)
- Topics: example, gin, scaffold
- Language: Go
- Size: 9.82 MB
- Stars: 10
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 简介
gin 脚手架,集成了以下依赖- [go-ini/ini](https://github.com/go-ini/ini)
读取 ini 配置文件,用于不同环境的参数配置,支持从环境变量读取配置
- [sirupsen/logrus](https://github.com/sirupsen/logrus)
打印 log,支持各种格式、颜色的 log 打印
- [jinzhu/gorm](https://github.com/jinzhu/gorm)
著名 ORM
以上几个依赖都是各自功能类别里 star 数最多的优秀类库使用 [dep](https://github.com/golang/dep) 管理依赖
# 启动
```shell
# 开发环境
go run main.go --env dev
# 测试环境
go run main.go --env test
# 生产环境
go run main.go --env prod
```# 配置文件
`conf/` 目录下默认有三个环境的配置文件:- app.ini 为通用配置,所有环境继承此配置文件
- dev.ini 相同的配置会覆盖 app.ini 中的配置,对应 --env dev
- test.ini 对应 --env test
- prod.ini 对应 --env prod
- 新建 xxx.ini ,需修改 `utils/config.go` 内相关代码即可配置文件中使用 `${xxx}` 可从环境变量中读取参数
如:
```
# prod.ini
[mysql]
password = ${MYSQL_PASSWORD}# shell
export MYSQL_PASSWORD=password
```# 代码热更新
代码变更,自动热更新重启。推荐使用 [github.com/cosmtrek/air]([https://github.com/cosmtrek/air)`.air.conf`文件是一份默认配置,若已安装 air ,直接在路径下运行 `air` 即可
# 更多模块
- with-swagger分支:集成了 swagger,可以便捷地生成 API doc
- with-jwt分支:集成了 jwt 中间件,解析header中的userToken获取用户身份ID如需同时使用多个模块,可用 git merge 进行组合