【发布时间】:2021-04-26 20:32:53
【问题描述】:
我的文件结构类似于以下内容:
src/
--clients/
----queue_client/
------mod.rs
--data_evaluator/
----data_evaluator.rs
在 data_evaluator 中,我想使用 queue_client 模块,但是当我在 data_evaluator.rs 中使用 mod queue_client 时,我收到以下错误 - File not found for module queue_client。如果我将它移动到data_evaluator 文件夹中,它只会找到该模块。
我的问题是,如何正确使用消费者代码目录之外的模块?抱歉,如果有一个简单的方法可以做到这一点,我确实尝试了很长时间但找不到方法。
【问题讨论】:
-
crate::clients::queue_client -
您似乎混淆了
mod和use。使用定义了一个新模块,并且应该位于新模块的直接父级中。所以你的结构应该是crate root { mod clients { mod queue_client }; mod data_evaluator { use crate::clients::queue_client } }。另请注意,mod.rs有点过时:因为 2018 版src/main.rs; module/submodule.rs; module.rs是首选文件结构。另请注意,您只能use标记为pub的项目。 -
这能回答你的问题吗? Rust mod files in the same folder vs use
标签: rust rust-crates