我有一个看起来有点像以下的文件结构:
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
文件夹中时,它才会找到模块。
我的问题是,如何正确使用使用者代码目录之外的模块?很抱歉,如果有一个简单的方法可以做到这一点,我确实尝试了很长一段时间,但找不到方法。
您似乎有点困惑。在Rust中,您可以构建模块树。您可以使用mod
将模块注册为当前模块的子模块。使用use
可以使用当前模块中的模块。这篇文章可能会澄清一些问题:http://www.sheshbabu.com/posts/rust-module-system/
除此之外,要使用树中比当前模块更高的模块,请使用crate
来获取模块树的根。所以在你的情况下,crate::clients::queue_client
。