gin博客项目复盘--01配置文件使用

简介: 初始化gin项目,设置 go mod GOPROXY=https://goproxy.cn,direct

gin 文档

gin-gonic.com/zh-cn/docs/

初始化gin项目

  1. 设置 go mod GOPROXY=https://goproxy.cn,direct
  2. go mod init projectName
  3. 配置 go build

image.png

  1. 安装 gingo get -u ginhub.com/gin-gonic/gin #-u 如果存在则更新
  2. gin目录框架
├─api--前后端分离├─config--管理网站配置参数├─middleware--中间件├─model--管理数据库├─routes--路由├─utils--公共工具,全局使用├─web--前端页面├─main.go复制代码
  1. 分析业务功能,创建数据库

配置文件的使用

  • 我们使用 .ini 来作为网站的配置文件
  • 文档地址:ini.unknwon.io/docs/intro
  • 项目中安装包:go get gopkg.in/ini.v1
  1. 项目根目录新建 config/config.ini

ini 的使用分为:分区、键和值

config/config.ini

[server]
AppMode = debug
HttpPort = :3000
[database]
Db = mysql
Dbhost = localhost
DbUser =
DbPassWord =
DbName = ginVue3blog
复制代码
  1. utils 中读取配置文件数据
  • 声明配置文件中的全局变量
  • 全局变量读取赋值
  • 安装包:go get -u gopkg.in/ini.v1详情参考 文档地址:ini.unknwon.io/docs/intro

utils/setting

package utils
import (
  "fmt"
  "gopkg.in/ini.v1"
)
var (
  AppMode  string
  HttpPort string
  Db         string
  DbHost     string
  DbPort     string
  DbUser     string
  DbPassWord string
  DbName     string
)
func init() {
  cfg, err := ini.Load("../config/config.ini")
  if err != nil {
    fmt.Printf("Fail to read file: %v", err)
  }
  AppMode = cfg.Section("server").Key("AppMode").MustString("debug")
  HttpPort = cfg.Section("server").Key("HttpPort").MustString("debug")
  Db = cfg.Section("database").Key("Db").MustString("mysql")
  DbHost = cfg.Section("database").Key("DbHost").MustString("localhost")
  DbPort = cfg.Section("database").Key("Db Port").MustString("3306")
  DbUser = cfg.Section("database").Key("DbUser").MustString("root")
  DbPassWord = cfg.Section("database").Key("DbPassWord").MustString("wucs123")
  DbName = cfg.Section("database").Key("DbName").MustString("ginVue3blog")
}
复制代码
  1. 路由 routes/router
package routes
import (
  setting "ginVue3blog/utils"
  "github.com/gin-gonic/gin"
  "net/http"
)
func InitRouter() {
  gin.SetMode(setting.AppMode)
  r := gin.Default()
  router := r.Group("api/v1")
  {
    router.GET("hello", func(c *gin.Context) {
      c.JSON(http.StatusOK, gin.H{
        "msg": "ok",
      })
    })
  }
  //此函数可以返回一个引擎 *gin.Engine ,然后main函数调用运行
  //也可以不返回,直接run运行
  r.Run(setting.HttpPort)
}
复制代码
  1. 运行测试 main.go
package main
import "ginVue3blog/routes"
func main() {
  //引入路由
  routes.InitRouter()
}


相关文章
|
Nacos
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
81 1
|
7月前
|
SQL 关系型数据库 MySQL
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(上)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)
1033 0
|
7月前
|
SQL Java 数据库
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
399 0
|
7月前
|
JavaScript
源码阅读之 create-vite —— 阅读前的准备工作
源码阅读之 create-vite —— 阅读前的准备工作
90 0
|
域名解析
用vitepress搭建文档网站踩坑记录
之前用 vuepress2 + vite 成功搭建了一个博客网站,这不 vue3 的文档改用 vitepress 搭建的,看着挺好看的,就想着也来折腾折腾搭建一个工作的文档网站
145 0
|
存储 开发工具 git
后端实践--git的简单使用 青训营
后端实践--git的简单使用 青训营
|
JavaScript 前端开发 API
每个 Bug 都值得认真对待:分享一个 debug 的案例,推荐给前端实习生参考
每个 Bug 都值得认真对待:分享一个 debug 的案例,推荐给前端实习生参考
310 0
|
JavaScript NoSQL 中间件
【Node.js实战】一文带你开发博客项目之Express重构(博客的增删查改、morgan写日志)
【Node.js实战】一文带你开发博客项目之Express重构(博客的增删查改、morgan写日志)
172 0
|
前端开发 NoSQL Java
手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
|
域名解析 网络安全 数据安全/隐私保护
vuepress2.0踩坑记录
当我们设置一个默认自定义首页,然后开启左侧菜单栏时,此时首页也会出现左侧菜单栏
661 0
vuepress2.0踩坑记录