1 个稳定版本
1.0.0 | 2023年11月10日 |
---|
#733 在 过程宏 中
5KB
Envhead
Envhead 是一个crate,用于使用静态前缀创建环境变量名称。
设置
首先,您应该通过设置环境变量 ENV_HEAD_PREFIX
为期望的值来定义前缀。当未定义 ENV_HEAD_PREFIX
变量时,使用 ENV
作为默认前缀。在以下示例中,我们将使用 MY_APP
作为前缀。
如果您在macOS或Linux上工作,您可能会使用Bash如下所示
ENV_HEAD_PREFIX=MY_APP cargo build
使用来自JetBrains的IDE,如 RustRover,您可以在 运行配置 中设置环境变量,并在您的 集成终端 中。
如果您使用CI/CD流水线?您可以在流水线配置中设置环境变量。您在Docker容器中构建应用程序吗?您也可以在Dockerfile中设置环境变量。
请注意:此设置过程仅适用于开发环境。您的编译程序不会依赖于 ENV_HEAD_PREFIX
环境变量。
使用方法
现在,在您的代码中,您可以使用 envhead!
宏来创建环境变量名称。
use envhead::envhead;
fn main() {
let env_var = envhead!("server_port");
// Prints "MY_APP_SERVER_PORT":
println!("{}", env_var);
}
您可能会发现将 envhead
与 clap
一起使用来创建命令行参数的环境变量名称很有用。
use clap::Args;
use envhead::envhead;
#[derive(Debug, Args)]
pub struct ServerArgs {
#[arg(
short = 'p', long,
required = false,
value_name = "port",
value_hint = clap::ValueHint::Other,
help = "The server's port.",
default_value_t = 8000,
env = envhead!("server_port"),
)]
pub port: u16,
#[arg(
long,
required = true,
value_name = "SECRET_TOKEN",
value_hint = clap::ValueHint::Other,
help = "The secret token to authenticate the client.",
env = envhead!("server_secret_token"),
)]
pub secret_token: Option<String>,
}
变更日志
版本 1.0.0
- 首次发布
依赖项
~315–780KB
~19K SLoC