导入不同目录中的函数
我在从其他目录中导入功能中的lib.r.rs遇到困难。我在下面发布了代码和文件结构。
但是,当我将get_users.rs放入路由中时,将 pub mod get_users;
添加到 src/doutes/mod.rs.rs
服务器旋转并get用户工作。
文件结构
.
├── Cargo.lock
├── Cargo.toml
├── README.md
├── src
│ ├── lib.rs
│ ├── main.rs
│ └── routes
│ ├── echo.rs
│ └── mod.rs
| |__ users
| |__ get_users.rs
| |-- mod.rs
├── static
│ └── abruzzo.png
└── tests
└── basic_test.rs
错误:
error[E0433]: failed to resolve: could not find `users` in `routes`
--> src\lib.rs:15:17
|
15 | routes::users::get_users::get_users
| ^^^^^ could not find `users` in `routes`
For more information about this error, try `rustc --explain E0433`.
error: could not compile `rocket-mongo` due to previous error
main.rs
use rocket_mongo::rocket_builder;
fn main() {
crate::rocket_builder().launch();
}
lib.rs
#![feature(proc_macro_hygiene, decl_macro)]
#![allow(unused_attributes)]
#[macro_use] use rocket::*;
use rocket_contrib::helmet::SpaceHelmet;
mod routes;
pub fn rocket_builder() -> rocket::Rocket {
rocket::ignite().attach(SpaceHelmet::default())
.mount("/", routes![
routes::echo::echo_fn,
routes::ping::ping_fn,
routes::users::get_users::get_users
])
}
src/doutes/uste/users/get_users.rs
use rocket::*;
#[get("/users")]
pub fn get_users() -> String {
"List of users".to_string()
}
src/routes/unders/mod.rs
pub mod get_users;
我尝试过的事情:
- 添加
mod routes :: users;
<lib.rs
- 添加
使用路由::用户:get_users;
edit:我不知道如何回复评论,但是jakubdóka回答了我,说我需要添加 pub mod用户;
在我的src/routes/mod.rs文件中。非常感谢Jakub!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论