kum*_*mo2 2 web-applications rust rust-warp
我正在使用warp库在 Rust 中制作一个网络应用程序。我正在尝试提供静态文件。\n我已从Doc阅读了其文档。
这是我的代码片段
\n\nuse serde::Deserialize;\nuse serde::Serialize;\nuse warp::path;\nuse warp::Filter;\n\n#[tokio::main]\nasync fn main() {\n let static_assets = warp::path("static").and(warp::fs::dir("/www/static"));\n\n // let routes = get_routes.or(post_routes).or(static_assets).or(file_route);\n let routes = static_assets;\n\n warp::serve(routes).run(([127, 0, 0, 1], 3030)).await;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我访问该路径时localhost:3030/static/index.js,它会返回404响应
这是文件树
\n\nsrc\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 www\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 static\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.js\nRun Code Online (Sandbox Code Playgroud)\n
这里的错误出奇地微不足道。路径/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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5437 次 |
| 最近记录: |