main.go 895 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "github.com/runningwater/gohub/bootstrap"
  7. appConfig "github.com/runningwater/gohub/config"
  8. "github.com/runningwater/gohub/pkg/config"
  9. )
  10. func init() {
  11. // 加载 config 目录下的配置信息
  12. appConfig.Initialize()
  13. }
  14. func main() {
  15. // 配置初始化,依赖命令行 --env 参数
  16. var env string
  17. flag.StringVar(&env, "env", "", "加载.env 文件,如 --env=local, 加载的是 .env.local 文件")
  18. flag.Parse()
  19. config.InitConfig(env)
  20. // 初始化 DB
  21. bootstrap.SetupDB()
  22. // 初始化 Logger
  23. bootstrap.SetupLogger()
  24. // gin 框架设置为发布模式,线上环境需要设置
  25. gin.SetMode(gin.ReleaseMode)
  26. // Gin 框架初始化
  27. r:= gin.New()
  28. // 初始化路由绑定
  29. bootstrap.SetupRoute(r)
  30. err := r.Run(":" + config.Get("app.port"))
  31. if err != nil {
  32. fmt.Println("启动失败", err.Error())
  33. }
  34. }