halo-micro
参考go-zero:包含基础库、Web 框架适配层,以及代码生成工具 rsctl。
技术栈
- Rust edition 2024
- Cargo(依赖管理与构建)
- 代码风格:
rustfmt+clippy - CI:GitHub Actions(规划/持续完善)
项目结构
halo/
core/ # 基础核心库
rest/ # Web 适配层/中间件/DSL
halo/ # 门面 crate(package=halo-micro,lib crate 名为 `halo_micro`)
utils/ # 通用工具 crate(halo-utils)
rsctl/ # 代码生成器与模板
LICENSE
README.md
使用说明
- rsctl(代码生成器):请看
rsctl/README.md - rest(Web 适配层):请看
rest/下源码与示例(后续会补充文档)
发布到 crates.io(标准流程)
本仓库是 workspace,发布顺序固定为:
halo-corehalo-resthalo-micro(package 名;lib crate 名为halo_micro)
halo crate 最后的考虑
因为rust的crate很蹩脚,一个crate被占用了,其他人就不能用了,所以就尽可能采用较少的crate形式来组织。希望官方可以持续改进,比如一个组织下面,可以发布很多crate,引用的时候从这个组织下面开始,在到具体的crate上,不同组织下面的crate可以重复。这样会友好很好。当然这只是自己的想法,勿喷!!!
使用方依赖写法示例:
= { = "halo-micro", = "0.1.0" }
许可证
本项目采用 Apache-2.0,详见 LICENSE。
版本记录
详见 CHANGELOG.md。