rust 框架 loco 源码阅读:loco-cli 代码生成模版机制

更新日期: 2024-04-01 阅读次数: 364 字数: 167 分类: rust

主要是想了解一下 loco-cli 是如何通过命令行生成代码文件的。

因为我非常想基于 rust 来实现 android,或者 golang CRUD 之类的模板代码生成。特别是,对既有文件进行插入修改的策略。

逻辑代码

https://github.com/loco-rs/loco/blob/master/loco-cli/src/generate.rs

模板代码

以包含了 CRUD api 及 route 的 controller 模板为例:

https://github.com/loco-rs/loco/blob/master/src/gen/templates/scaffold/api/controller.t

使用了类似网页模板的 template 语法,可读性高。

而且,还有 snake_case / plural_snake / pascal_case 这样的便捷方法。

{% set plural_snake = name | plural | snake_case -%}
{% set module_name = "m" ~  mig_ts ~ "_" ~ plural_snake -%}
{% set model = name | plural | pascal_case -%}

tags: loco

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式