3 个不稳定版本
0.2.1 | 2024年5月3日 |
---|---|
0.2.0 | 2024年5月3日 |
0.1.0 | 2024年4月7日 |
#180 in 配置
16KB
127 行
ilo-config
简单、易用的方式维护磁盘上的配置库。
快速入门
-
创建一个新的 Cargo 二进制包。
cargo new ilo-config-example && cd ilo-config-example
-
安装依赖项。
serde
和reqwest
仅在示例代码中需要;它们不是使用库所必需的。cargo add ilo-config cargo add serde -F derive cargo add reqwest -F blocking
-
将示例代码粘贴到
src/main.rs
。use ilo_config::Config; use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, Default)] struct QuickstartConfig { /// URL to which a GET request should be made url: Option<String>, /// Additional text to be saved in the config, e.g. reminder of how the file got created comment: Option<String>, } fn main() -> Result<(), Box<dyn std::error::Error>> { let mut config: Config<QuickstartConfig> = Config::load("example-config")?; let data = config.data_mut(); if data.comment.is_none() { data.comment = Some(String::from( "Created by the ilo-config package's quickstart example.", )); } let url: &str = data .url .get_or_insert_with(|| String::from("https://httpbin.org/get")); let response = reqwest::blocking::get(url)?; let text = response.text()?; println!("Response from configured URL: {text}"); config.save().map_err(|e| e.into()) }
-
运行
export ILO_CONFIG_HOME=$(pwd)
以在当前目录而不是默认目录(即~/.config/ilo
)中创建配置文件。 -
使用
cargo run
运行示例。 -
(可选) 检查生成的
example-config.json
文件。尝试更改 URL 为,例如,https://httpbin.org/headers
并重新运行程序,或者将 URL 替换为数字并验证类型不匹配是否导致运行时错误。
有关更多示例,请参阅 examples/
目录。
依赖项
~0.8–8.5MB
~69K SLoC