#env-file #env #dotenv #environment #env-var #build-config #compile-time

build dotenv-build

Crate 可以帮助您从 .env 文件中提供编译时环境变量

2 个版本

0.1.1 2022年1月1日
0.1.0 2022年1月1日

686构建工具 中排名

Download history 239/week @ 2024-03-14 218/week @ 2024-03-21 349/week @ 2024-03-28 383/week @ 2024-04-04 324/week @ 2024-04-11 287/week @ 2024-04-18 257/week @ 2024-04-25 173/week @ 2024-05-02 157/week @ 2024-05-09 168/week @ 2024-05-16 232/week @ 2024-05-23 200/week @ 2024-05-30 250/week @ 2024-06-06 385/week @ 2024-06-13 316/week @ 2024-06-20 2592/week @ 2024-06-27

3,578 每月下载量
用于 packwiz-modlist

MIT 许可协议

32KB
819

dotenv-build

Crates.io Documentation License

基于 dotenv 严重依赖

dotenv-build 帮助您在 build.rs 中提供 .env 文件作为编译时环境变量。

更多信息,请访问 文档


lib.rs:

概述

此 crate 允许您在编译步骤中加载 .env 文件。它旨在与您的 build.rs 文件一起使用。

用法

  1. 确保您已通过 build 配置在 Cargo.toml 中启用构建脚本
  2. dotenv-build 添加为构建依赖项
  3. 创建一个 build.rs 文件,该文件使用 dotenv-build 生成 cargo: 指令。
  4. 在您的代码中使用 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();

无运行时依赖