原因: 网上有很多大佬的脚手架,但是自己打算开发一款适合自己的, 因为前端不是太熟练,东西也是一点点往上添加,不喜勿喷.
前期准备工作
代码先做整理,后期发布到github上去,喜欢的大家去点个start
开发工具
git : 这里大家都知道go语言工具的获取渠道
goland : 选择goland开发觉得支持性比较好吧.
gin web框架,链接地址七米老师的博客: https://www.liwenzhou.com/posts/Go/Gin_framework/
gorm 是go的一个ORM框架,链接地址七米老师的博客: https://www.liwenzhou.com/posts/Go/gorm/
logker 日志库 https://github.com/Higker/logker/blob/master/readme_zh.md 选自一个大佬的
环境的搭建我就不一一赘述了,相信大家也都会配置
项目搭建
初步的目录构建:
初始化 go mod into 安装需要的框架依赖, 窗口执行
D:\Go\GoPath\src\org.beijing.com\ Scaffolding-web-han>go mod init
安装gin 框架
go get -u github.com/gin-gonic/gin
安装 gorm框架
go get -u github.com/jinzhu/gorm
安装zap日志库
go get github.com/gin-contrib/zap
创建完后目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JwVgoAz3-1596283858299)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200801200751806.png)]
control : 控制器
main :入口
model: 对面模型
static: 静态资源
templates: html 文件
until :工具包
main 下面创建main.go 启动文件
package main
import (
"github.com/gin-contrib/zap"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"net/http"
"time"
)
func main() {
r := gin.New()
logger, _ := zap.NewProduction()
//添加一个ginzap中间件,它:
//记录所有请求,如组合的访问和错误日志。
//记录到stdout。
//RFC3339,UTC时间格式。
r.Use(ginzap.Ginzap(logger, time.RFC3339, true))
//将所有死机记录到错误日志中
//stack表示是否输出堆栈信息。
r.Use(ginzap.RecoveryWithZap(logger, true))
//静态资源处理
r.Static("/static", "./static")
//静态页面处理
r.LoadHTMLGlob("templates/*")
//根路径访问登录页面
r.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK,"index.html",gin.H{})
})
// Listen and Server in 0.0.0.0:8080
r.Run(":8080")
}
tp.StatusOK,"index.html",gin.H{})
})
// Listen and Server in 0.0.0.0:8080
r.Run(":8080")
}