2 个稳定版本
1.1.0 | 2023 年 11 月 25 日 |
---|---|
1.0.0 | 2023 年 9 月 12 日 |
#1782 in 网页编程
5KB
include_dir_as_map
一个过程宏,将目录中的文件嵌入 Rust 二进制文件中作为哈希表。这可以用于嵌入诸如图像、HTML、CSS 和 JS 等资源。
include_dir_as_map
扩展了 include_str!()
和 include_bytes!()
,类似于 include_dir
。
使用方法
在 Cargo.toml
中包含以下部分
[dependencies]
include_dir_as_map="1"
在您的 Rust 代码中包含以下内容
// DirMap is an alias for HashMap<String, Vec<u8>>
use include_dir_as_map::{include_dir_as_map, DirMap};
// Environment variables will be expanded at compile time
let dirmap: DirMap = include_dir_as_map!("$CARGO_MANIFEST_DIR");
let bytes = dirmap.get("Cargo.toml")?;
所有路径相对于嵌入目录,因此如果 root
包含文件 root/foo.txt
和 root/next/bar.txt
,则 include_dir_as_map!("root")
将生成包含键 foo.txt
和 next/bar.txt
的哈希表。
功能
默认情况下,文件在调试模式下从文件系统中读取以加快编译速度。要覆盖此行为,请在 Cargo.toml
中启用 always-embed
功能
[dependencies]
include_dir_as_map={ version="1", features=[ "always-embed" ] }
示例
查看 examples/
目录中的更多示例
开发
构建
要构建库和示例
cargo build --workspace
测试
要测试库和过程宏
cargo test --workspace
依赖项
~83KB