说明

配置组件是基于github.com/spf13/viper实现的。

加载配置文件

配置文件加载的优先级一般都比较高,所以建议main函数里加载。

  1. import (
  2. "github.com/ebar-go/ego"
  3. "log"
  4. )
  5. func main() {
  6. app := ego.App()
  7. // 加载配置文件
  8. if err := app.LoadConfig("conf/app.yaml"); err != nil {
  9. log.Fatalf("load config failed: %v\n", err)
  10. }
  11. }

配置文件

  • 示例

    1. server: # 服务器配置
    2. name: someApp
    3. environment: product # 运行环境
    4. app: # 自定义配置
    5. someString: a
    6. someInt: 1
    7. SomeBool: true
  • 读取配置:

    1. import(
    2. "github.com/ebar-go/ego/component/config"
    3. )
    4. func main() {
    5. app := ego.App()
    6. // 加载配置文件
    7. if err := app.LoadConfig("conf/app.yaml"); err != nil {
    8. log.Fatalf("load config failed: %v\n", err)
    9. }
    10. app.Container.Invoke(ReadConfig)
    11. }
    12. // ReadConfig 读取配置,依赖于Config
    13. func ReadConfig(conf *config.Config) {
    14. conf.GetString("app.someString")
    15. conf.GetInt("app.someInt")
    16. conf.GetBool("app.someBool")
    17. }