2 个版本
0.1.1 | 2022年1月1日 |
---|---|
0.1.0 | 2022年1月1日 |
686 在 构建工具 中排名
3,578 每月下载量
用于 packwiz-modlist
32KB
819 行
dotenv-build
基于 dotenv 严重依赖
dotenv-build
帮助您在 build.rs
中提供 .env 文件作为编译时环境变量。
更多信息,请访问 文档。
lib.rs
:
概述
此 crate 允许您在编译步骤中加载 .env 文件。它旨在与您的 build.rs 文件一起使用。
用法
- 确保您已通过
build
配置在Cargo.toml
中启用构建脚本 - 将
dotenv-build
添加为构建依赖项 - 创建一个
build.rs
文件,该文件使用dotenv-build
生成cargo:
指令。 - 在您的代码中使用
env!
或option_env!
宏
Cargo.toml
[package]
#..
build = "build.rs"
[dependencies]
#..
[build-dependencies]
dotenv-build = "0.1"
build.rs
// in build.rs
fn main() {
dotenv_build::output(dotenv_build::Config::default()).unwrap();
}
在代码中使用
println!("Your environment variable in .env: {}", env!("TEST_VARIABLE"));
配置
有关可用选项的更多信息,请参阅此处:Config
let config = dotenv_build::Config {
filename: std::path::Path::new(".env.other"),
recursive_search: false,
fail_if_missing_dotenv: false,
..Default::default()
};
dotenv_build::output(config).unwrap();
多个文件
为此使用 output_multiple
use std::path::Path;
use dotenv_build::Config;
let configs = vec![
// load .env.base
Config {
filename: Path::new(".env.base"),
// fail_if_missing_dotenv: true,
..Default::default()
},
// load .env.staging
Config {
filename: Path::new(".env.staging"),
..Default::default()
},
// load .env
Config::default(),
];
dotenv_build::output_multiple(configs).unwrap();