在Rust中使用Rocket框架返回网页,通常涉及创建一个路由,该路由将返回一个HTML页面。Rocket是一个快速、易用且可扩展的Web框架,它允许你以一种简洁的方式定义路由和处理请求。
一、使用Rocket框架返回一个简单的HTML页面:
- 添加依赖:在你的Cargo.toml文件中添加Rocket框架和相关的依赖。
| 1 2 3 | [dependencies] rocket = "0.5.0" | 
- 创建路由:在你的Rust代码中,使用Rocket的宏定义一个路由。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #[macro_use]  extern crate rocket; use rocket::response::content; use std::fs; #[get("/test")] fn test() -> content::RawHtml<String> {     content::RawHtml(String::from("<h1>Hello, Rocket!</h1>")) } #[get("/test2")] fn test2() -> Result<content::RawHtml<String>, std::io::Error> {     let html_content = fs::read_to_string("templates/home.html")?;     Ok(content::RawHtml(html_content)) } | 
- 启动Rocket服务器:
| 1 2 3 4 5 6 7 | #[launch] fn rocket() -> _ {     rocket::build()         // 注册路由         .mount("/", routes![test, test2]) } | 
- 运行程序:运行你的Rust程序,Rocket服务器将启动,并监听默认端口8000。
- 
访问网页:打开你的Web浏览器,访问 http://localhost:8000/test2,你将看到返回的HTML页面。

请注意,这只是一个简单的例子,实际项目中你可能需要更复杂的逻辑来生成HTML内容,例如使用模板引擎来动态生成页面内容。
二、使用Rocket框架返回一个基于 Handlebars (HBS) 模板的响应:
在 Rust 中使用 Rocket 框架时,如果你想返回一个基于 Handlebars (HBS) 模板的响应,你需要做几个步骤:
- 添加依赖:首先,确保你的 Cargo.toml文件中包含了rocket和handlebars相关的依赖。
| 1 2 3 4 | [dependencies] rocket = "0.5.0" rocket_dyn_templates = { version = "0.1.0", features = ["handlebars", "tera"] } | 
- 设置模板目录:在 Rocket 应用启动时,你需要指定 Handlebars 模板的目录。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #[macro_use] extern crate rocket; use rocket::fs::FileServer; use rocket_dyn_templates::{context, Template}; #[launch] fn rocket() -> _ {     rocket::build()         // 添加模板引擎系统         .attach(Template::fairing())         // 使用硬盘提供内容服务         .mount("/", FileServer::from("static/"))         // 注册路由         .mount("/", routes![test3]) } | 
- 创建 Handlebars 模板:在你的项目中创建一个 templates目录,并在其中放置你的.hbs文件,我测试的是”hello.html.hbs”文件
- 
编写路由:创建一个路由,使用 Template::render来渲染 Handlebars 模板。
| 1 2 3 4 5 | #[get("/test3")] async fn test3() -> Template {     Template::render("hello", context! { message: "Hello, Rust"}) } | 
- 
编译模板:Rocket 会在首次请求时编译 Handlebars 模板。为了提高性能,你可以在开发时预先编译模板。 
- 
启动应用:运行你的 Rocket 应用,Rocket服务器将启动,并监听默认端口8000。然后通过浏览器访问对应的路由 http://localhost:8000/test3,你将看到由 Handlebars 模板渲染的页面。

请注意,Rocket 框架和其贡献库经常更新,上述步骤和代码示例可能需要根据你使用的版本进行调整。如果你遇到任何问题,可以查阅 Rocket 框架的官方文档或社区支持。
三、源码下载
上面2个例子,源码下载地址:
蓝奏云链接:
| 1 2 | https://wwf.lanzouo.com/i52aL1yu14of | 
知识星球链接:
| 1 2 | https://t.zsxq.com/oRO7J | 
如果本文对您有所帮助,请关注微信公众号 “ 捷创源Linux ”,可以获取更多技术干货!
