3 releases
Uses new Rust 2024
| 0.0.2 | Mar 17, 2026 |
|---|---|
| 0.0.1 | Mar 11, 2026 |
| 0.0.0 | Mar 8, 2026 |
#988 in Configuration
Used in 2 crates
88KB
1.5K
SLoC
WAE Config - 配置管理模块
提供统一的配置加载和管理能力,基于 figment 库实现。 支持多层级配置合并:环境变量 > 配置文件 > 默认值。
wae-config
配置模块 - 提供灵活的配置管理功能。
主要功能
- 多格式支持: 支持 TOML、YAML、JSON 配置文件
- 环境变量: 支持环境变量覆盖
- 热重载: 配置文件变更自动重载
- 类型安全: 强类型配置解析
技术栈
- 配置解析: config-rs
- 序列化: serde
- 异步运行时: Tokio
使用示例
use wae_config::{ConfigLoader, ConfigSource};
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct AppConfig {
server: ServerConfig,
database: DatabaseConfig,
}
#[tokio::main]
async fn main() {
let config: AppConfig = ConfigLoader::new()
.file("config.toml")
.env_prefix("APP")
.load()
.await?;
println!("Server: {}:{}", config.server.host, config.server.port);
}
配置优先级
- 环境变量 (最高优先级)
- 命令行参数
- 配置文件
- 默认值 (最低优先级)
Dependencies
~3–4.5MB
~91K SLoC