#serve-static #static #rocket #serve #http

nightly rocket-static-files

使用Rocket服务带有缓存头的静态文件

1个不稳定版本

0.1.0 2021年1月16日

缓存类别中排名354

每月下载31

许可证:MPL-2.0

15KB
257 代码行

rocket-static-files

使用远期缓存头和版本特定的URL来服务静态文件。

用法

依赖项

添加以下依赖项

[dependencies]
rocket-static-files = "0.1"

[build-dependencies]
rocket-static-files = { version = "0.1", features = [ "gen" ] }

构建脚本

为了生成散列,将以下内容添加到您的 build.rs 文件中(这假设您的静态文件位于 $CARGO_MANIFEST_DIR/static

use std::path::PathBuf;

fn main() {
    let mut static_root =
        PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap());
    static_root.push("static");

    let mut out_path = PathBuf::from(std::env::var_os("OUT_DIR").unwrap());
    out_path.push("static_file_hashes.rs");

    rocket_static_files::generate(&out_path, &static_root).unwrap();
}

公平竞争

use rocket_static_files::StaticFiles;

include!(concat!(env!("OUT_DIR"), "/static_file_hashes.rs"));

fn main() {
    rocket::ignite()
        .attach(StaticFiles::fairing(&STATIC_FILE_HASHES)
        .launch();
}

Rocket.toml

添加如下段落

[global.static_files]
serve_from = "./static"         # Relative to Rocket.toml
path_prefix = "/static"         # Where to serve the files: http://127.0.0.1:8000/static

依赖项

~9–18MB
~252K SLoC