#config-toml #env

wae-config

WAE Config - 多层级配置管理,支持 TOML/YAML/环境变量

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

MIT license

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);
}

配置优先级

  1. 环境变量 (最高优先级)
  2. 命令行参数
  3. 配置文件
  4. 默认值 (最低优先级)

Dependencies

~3–4.5MB
~91K SLoC