主要是想了解一下 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 -%}
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式