#export #mod #macro-derive #derive #macro #use

autoexport

自动使用顶层模块中布局的所有模块

1 个不稳定版本

0.1.0 2022 年 12 月 25 日

#8 in #use

MIT/Apache

5KB

Autoexport

自动从顶层模块导出一系列模块。

这些模块必须在宏体内部定义 - autoexport 不了解文件内部的模块。这意味着您需要从顶层文件(如 lib.rs)定义您的模块结构。

Rust 的模块系统有时可能会很冗长,特别是对于大型应用程序。这有助于使您的程序更简洁。

用法

在顶层 lib.rs 中定义一系列路由、组件或有用的实用工具,然后想要导出到应用程序的其他部分是很常见的。只需接受 #[autoexport::autoexport] 即可,无需编写 pub use item::*;

Autoexport 将使用模块位置的可见性

#[autoexport::autoexport]
pub mod components {
    pub mod footer;
    pub mod header;
}

// now all of footer/header are in scope

run_function_thats_defined_in_footer();

run_function_thats_defined_in_header();

许可证

MIT 或 Apache,由您选择

依赖关系

~1.5MB
~35K SLoC