2024-08-31 12:04:08 +08:00
|
|
|
|
# ConfigX
|
2024-08-31 09:03:50 +08:00
|
|
|
|
|
2024-08-31 12:04:08 +08:00
|
|
|
|
ConfigX 是一个 Go 语言的配置库,提供了一种简单的方式来读取和管理应用程序的配置信息。
|
|
|
|
|
|
|
|
|
|
## 安装
|
|
|
|
|
|
|
|
|
|
使用 go get 安装 ConfigX:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
go get gitea.cccvno1.com/chenchi/configx
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
2024-08-31 12:12:49 +08:00
|
|
|
|
基本使用方法参考 [example](https://gitea.cccvno1.com/chenchi/configx/src/branch/master/example)。
|
2024-08-31 12:04:08 +08:00
|
|
|
|
|
2024-08-31 23:46:15 +08:00
|
|
|
|
## 特性说明
|
2024-08-31 12:04:08 +08:00
|
|
|
|
|
|
|
|
|
### 环境变量支持
|
|
|
|
|
可以通过环境变量来覆盖配置文件中的配置项,环境变量的命名规则为 `PREFIX_KEY`,其中 `PREFIX` 为环境变量的前缀,默认值为 `APP`,`KEY` 为配置项的名称。例如 `APP_SERVER_PORT=9000` 可以覆盖配置文件中的 `server.port` 配置项。
|
|
|
|
|
|
|
|
|
|
### 不同环境的配置文件
|
|
|
|
|
支持根据不同的环境加载不同的配置文件,加载规则为 `config.{env}.yaml`,其中 `{env}` 为环境名称,例如 `config.dev.yaml`。`env` 的值可以通过环境变量 `APP_ENV` 来指定,默认值为 `dev`。
|
|
|
|
|
|
|
|
|
|
### 配置热重载
|
|
|
|
|
通过 `WithAutoReload` 方法可以开启配置热重载功能,当配置文件发生变化时,会自动重新加载配置。
|
|
|
|
|
启动热重载功能后,可以为某一个配置项设置回调函数,当配置项发生变化时,回调函数会被调用。
|