Rust 的项目结构(本地依赖项)

问题描述 投票:0回答:1

我有一个 Rust 项目,结构如下

├── Cargo.lock
├── Cargo.toml
├── src/
│   ├── main.rs
│   └── framework/
│      ├── pluginchain.rs
│   └── plugins/
│      ├── plugin.rs

框架和插件下都有更多的源文件,但这就是要点。每个目录(框架、插件)都有一个 mod.rs 文件,用于包含每个目录中各种 rust 源文件。因此,从 main.rs 包含框架目录中的源代码,我可以执行以下操作..

mod framework;
use crate::framework::{pluginchain, ...}

并且在框架中使用其他源是没有问题的。在框架中的任何源中声明。

use crate::framework::{...}

现在我遇到的问题是如何使用框架目录中的插件目录中的某些内容。我尝试过各种 mod 插件 .. 使用 crate::plugins::{...} ... 使用 super::plugins::[...} 等...

我对如何做我认为可能非常简单的事情感到困惑。

rust rust-cargo
1个回答
0
投票

(您的产品中缺少

main.rs
,但是)可能如下:

mod framework;
mod plugin;

要从

crate::plugin::somewhat
调用
crate::framework
,请将模块可见性更改为
pub(crate)

mod framework;
pub(crate) plugin;

这只会更改模块可见性,您还应该更改模块下的成员可见性。

© www.soinside.com 2019 - 2024. All rights reserved.