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

文章目录

    主要是想了解一下 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式