我的项目有一个客户端和一个服务器二进制文件。所以我的
Cargo.toml
看起来像
[[bin]]
name = "server"
path = "src/server/mod.rs"
[[bin]]
name = "client"
path = "src/client.rs"
我的文件结构看起来像:
.
├── client.rs
├── server
│ ├── something.rs
│ └── mod.rs
└── shared
├── mod.rs
└── something2.rs
我想做的是使用
shared
中的server/mod.rs
中的任何内容。为此,我尝试在 mod shared
中添加 use crate::shared
和 server/mod.rs
,但收到错误“根中没有‘共享’”(它只在 shared/
中查找)。我没有 main.rs
可以正确声明模块。
所以我尝试的另一件事是使用
server.rs
而不是 server/mod.rs
。这部分有效,因为我现在可以声明 mod 共享。但是,我无法再访问 server/something.rs
中的任何内容。有没有办法让server.rs
看到server/
的内容,或者有没有办法让server/mod.rs
看到相邻模块的内容而不需要顶层main.rs
?