1个不稳定版本
0.1.0 | 2020年7月30日 |
---|
#122 在 #loader
7KB
114 行
Configurs
为Rust应用程序提供的轻量级配置管理。支持从环境变量、TOML文件和内联注释的默认值加载配置值。
用法
将此添加到您的[dependencies]
部分Cargo.toml
configurs = "0.1"
configurs_derive = { version = "0.1" }
...或者,如果您想使用从TOML文件加载配置的选项
configurs = "0.1"
configurs_derive = { version = "0.1", features = ["file_loader"] }
然后,并注释您的结构体
use configurs_derive::Configuration;
#[derive(Configuration)]
struct Configuration {
#[env="PORT"]
#[default="8088"]
port: i16,
#[env="HOST"]
#[default="127.0.0.1"]
host: String,
}
fn main() {
let config = Configuration::load();
}
使用HOST
或PORT
环境变量运行程序现在将覆盖注释的默认值。
使用file_loader
特性
额外依赖项
serde = "1"
serde_derive = "1"
toml = "0.5"
用法
use serde_derive::Deserialize;
#[derive(Configuration, Deserialize)]
#[serde(default)]
struct Configuration {
#[env="PORT"]
#[default="8088"]
port: i16,
#[env="HOST"]
#[default="127.0.0.1"]
host: String,
}
fn main() {
let config = Configuration::load_from_file("./Config.toml");
}
值的加载顺序或优先级如下
- 环境变量
- 配置文件
- 注释的默认值
依赖项
~1–1.5MB
~36K SLoC