#配置 #文件格式 #配置文件 #serde #反序列化 #通用

universal-config

一个简化读取各种文件格式配置文件的库

10 个版本

0.5.0 2024 年 3 月 30 日
0.4.3 2023 年 8 月 30 日
0.4.2 2023 年 7 月 3 日
0.4.1 2023 年 6 月 5 日
0.1.1 2023 年 3 月 13 日

#1280解析器实现

Download history 213/week @ 2024-03-14 157/week @ 2024-03-21 388/week @ 2024-03-28 148/week @ 2024-04-04 107/week @ 2024-04-11 129/week @ 2024-04-18 207/week @ 2024-04-25 125/week @ 2024-05-02 77/week @ 2024-05-09 79/week @ 2024-05-16 66/week @ 2024-05-23 118/week @ 2024-05-30 88/week @ 2024-06-06 115/week @ 2024-06-13 124/week @ 2024-06-20 55/week @ 2024-06-27

396 次每月下载
3 crates 中使用

MIT 许可证

18KB
308 代码行

通用配置

crate | 文档 | 仓库

通用配置是一个用于 Rust 的库,简化了读取和写入配置文件。它能够自动从标准位置定位配置文件,并支持各种文件格式。

该 crate 不提供很多功能,而是将此留给 Serde 和您的实现。它只处理文件的加载和保存。

目前支持以下格式

  • JSON 通过 serde_json
  • YAML 通过 serde_yaml
  • TOML 通过 toml
  • XML 通过 serde_xml_rs
  • Corn 通过 libcorn
  • Ron 通过 ron

安装

只需添加 crate

cargo add universal-config

默认情况下,包含所有语言的支持。您可以使用功能标志启用/禁用语言。例如,在您的 Cargo.toml

[dependencies.universal-config]
version = "0.1.0"
default-features = false
features = ["json", "toml"]

示例用法

use universal_config::ConfigLoader;
use serde::Deserialize;

#[derive(Deserialize)]
struct MyConfig {
    foo: String,
}

fn main() {
    let config: MyConfig = ConfigLoader::new("my-app").find_and_load().unwrap();
    println!("{}", config.foo);
}

有关更高级的用法,请参阅 文档

依赖关系

~2–12MB
~116K SLoC