Я хочу запустить Rocket в модуле из `main()`, но не получилось
Я хочу запустить Rocket в модуле из main()
Таким образом, может упростить main()
но я потерпел неудачу. Я модифицировал Quicktart из ракеты
Код:
mod myRocket {
#![feature(plugin)]
#![plugin(rocket_codegen)]
extern crate rocket;
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
pub fn startup() {
rocket::ignite().mount("/", routes![index]).launch();
}
}
fn main() {
myRocket::startup();
}
Ошибка:
error: cannot find macro `routes!` in this scope
--> src\main.rs:12:37
|
12 | rocket::ignite().mount("/", routes![index]).launch();
|
Я не знаю, как это исправить.
1 ответ
Решение
Я достиг. Ящик моего проекта rocket_demo
main.rs
extern crate rocket_demo;
use rocket_demo::my_rocket;
fn main() {
my_rocket::startup();
}
lib.rs
#![feature(plugin)]
#![plugin(rocket_codegen)]
extern crate rocket;
pub mod my_rocket;
Первые три строки не могут быть в my_rocket/mod.rs, иначе routes!
не найдешь!
my_rocket / mod.rs
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
pub fn startup() {
::rocket::ignite().mount("/", routes![index]).launch();
}