1 个不稳定版本
0.1.0 | 2022年1月8日 |
---|
在 开发工具 中排名 1768
7KB
105 行代码(不包括注释)
Rocket Assets Fairing
rocket-assets-fairing
是 Rocket 的一个整流罩,用于从文件夹中轻松提供静态资源,并具有良好的缓存策略。
安装
将以下内容添加到您的 Cargo.toml
rocket-assets-fairing = "0.1"
用法
use assets_rocket_fairing::{Asset, Assets};
#[rocket::main]
async fn main() {
rocket::build()
.attach(Assets::fairing())
.mount("/assets", routes![style])
.launch()
.await;
}
#[get("/style.css")]
async fn style(assets: &Assets) -> Option<Asset> {
assets.open("style.css").await.ok()
}
配置
与 Rocket 的配置方式相同。
通过 Rocket.toml
[default]
assets_dir = "assets"
assets_max_age = 86400
或使用环境变量
ROCKET_ASSETS_DIR
ROCKET_ASSETS_MAX_AGE
lib.rs
:
使用 Rocket 从配置的缓存策略中轻松提供静态资源。
此创建添加了一个用于提供静态资源的整流罩和响应器。您应该配置一个资源目录,附加整流罩,然后在任何您想要的路径上返回一个 Asset
。
用法
- 将您的资源添加到可配置的
assets_dir
目录(默认:{rocket_root}/assets
)。 - 可选地使用
assets_max_age
配置缓存策略 - 附加 [
Assets::fairing()
] 并使用 [Assets::open()
] 返回一个Asset
(指定相对文件路径)
use assets_rocket_fairing::{Asset, Assets};
#[rocket::main]
async fn main() {
rocket::build()
.attach(Assets::fairing())
.mount("/assets", routes![style])
.launch()
.await;
}
#[get("/style.css")]
async fn style(assets: &Assets) -> Option<Asset> {
assets.open("style.css").await.ok()
}
依赖项
~15–49MB
~797K SLoC