2个版本
0.1.1 | 2020年7月30日 |
---|---|
0.1.0 | 2020年7月30日 |
#761 in 配置
5KB
75 行
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");
}
值的加载顺序或优先级如下
- 环境变量
- 配置文件
- 注释的默认值