3个版本
0.1.2 | 2021年1月27日 |
---|---|
0.1.1 | 2021年1月25日 |
0.1.0 | 2021年1月25日 |
#12 in #customized
12KB
97 代码行
env_plus
一个非常简单且高度可定制的环境变量加载器。您可以指定自己想使用的文件,或者使用其默认设置。
用法
将此添加到您的Cargo.toml
[dependenices]
env_plus = "0.1.2"
.env_plus
// This is a comment!
SECRET=YOUR_SECRET
main.rs
use env_plus::EnvLoader;
fn main() {
EnvLoader::new()
.activate();
let secret = std::env::var("SECRET").unwrap();
assert_eq!(secret, String::from("YOUR_SECRET"));
}
env_plus的默认设置是
- 文件:.env_plus
- 注释://
- 值分隔符:=
- 覆盖同名现有变量:false
然而,您有权完全自定义要使用的文件及其解析方式。
高级用法
special_file.extension
## I want to use this style as a comment!
## == will be the new value delimiter
SECRET==YOUR_SECRET
main.rs
use env_plus::EnvLoader;
fn main() {
std::env::set_var("SECRET", "MY_SECRET");
EnvLoader::new()
.change_file(String::from("./special_file.extension"))
.change_delimiter(String::from("=="))
.change_comment(String::from("##"))
.overwrite_envs(true)
.activate();
let secret = std::env::var("SECRET").unwrap();
// SECRET has been overwritten from MY_SECRET to YOUR_SECRET
assert_eq!(secret, String::from("YOUR_SECRET"));
}