我在用warp
使用 Rust 制作 Web 应用程序的库。我正在尝试提供静态文件。
我已阅读其文档Doc https://docs.rs/warp/0.2.0/warp/filters/fs/fn.dir.html.
这是我的代码片段
use serde::Deserialize;
use serde::Serialize;
use warp::path;
use warp::Filter;
#[tokio::main]
async fn main() {
let static_assets = warp::path("static").and(warp::fs::dir("/www/static"));
// let routes = get_routes.or(post_routes).or(static_assets).or(file_route);
let routes = static_assets;
warp::serve(routes).run(([127, 0, 0, 1], 3030)).await;
}
但是当我访问这条路时localhost:3030/static/index.js
,它返回404
回复
这是文件树
src
├── main.rs
└── www
└── static
└── index.js
这里的错误出奇地微不足道。路径/www/static
是绝对的。为了使其工作,您必须将该目录放在文件系统的根目录中。通过使用相对路径,它可以工作:
#[tokio::main]
async fn main() {
let route = warp::path("static").and(warp::fs::dir("www/static"));
warp::serve(route).run(([127, 0, 0, 1], 3030)).await;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)