内容介绍
本专题我们将分别讨论如何将HTML模板和单页应用(SPA)嵌入到AXUM项目的二进制文件中。
为了便于发布和部署,我们可以将HTML、JS、CSS等静态资源文件嵌入到二进制文件中,这样的话,只需要一个二进制文件就可以了,而不需要额外的 templates
、assets
等目录和文件。
当然,嵌入到二进制文件会造成二进制文件的体积增大,运行时占用的内存也随之增加。
如何实现
use rust_embed::Embed;
#[derive(Embed)]
#[folder = "assets/"]
struct Asset;
- 利用
Embed
宏,可以方便的实现相关的 trait - 通过
#[folder = "assets/"]
,指定我们需要嵌入的资源的目录。它会将目录中的资源文件嵌入的最终的二进制文件中,并保持目录结构。