如何在大规模 Rust 团队项目中划分 mod、控制 pub(crate) 可见性、管理 Cargo.toml 依赖并搭建多包 Monorepo。
1. 模块树与可见性控制
Rust 默认一切都是私有的,需要通过 pub 明确暴露接口:
pub: 全局公开。pub(crate): 仅在当前 Crate 内可见。pub(super): 仅父级模块可见。
2. Cargo Workspace 配置多模块
# 根目录 Cargo.toml
[workspace]
members = [
"crates/core",
"crates/network",
"crates/server"
]