代码生成器

一、为什么需要代码生成器

在后台管理系统中,我们有大量的单表简单查询、新增和修改之类的业务场景,对于这样的业务往往需要编写大量的控制器、模型、配置等文件,这些文件其实本质来说就是对数据库单表的映射,代码生成器就是可以通过简单的操作,快速将数据库表映射成代码和配置,大大减少开发人员的工作难度。

二、代码生成器实现

  1. 这里我选择的是Electron,基于Nodejs的桌面应用开发。通过Node的ORM框架Sequelize来逆向生成数据表相关结构

 

代码生成器_第1张图片

 

对于每张表的不同字段,我想可以通过标签和拖拽的方式可以给每一个字段不同的属性,让可以在新增、查询、修改的表单中有不同的表现方式。通过在模板中进行判断,来使在不同的文件中,展示不同的效果,比如时间日期字段,可以使用时间日期的控件来展示,开启关闭的字段,可以使用switch相关的控件来展示,这样让代码生成器更加的灵活,更加易用。  

 

代码生成器_第2张图片

模板的编写我选择集成MonacoEditor,MonacoEditor是微软开源的Web代码编辑器,可以自定义代码提示、语法之类的。
对于模板引擎用的是artTemplate,artTemplate是一个高性能的JavaScript模板引擎,具体使用方法可以看看它的官网 

 

代码生成器_第3张图片

 

最后就是选择需要生成的模板数据库了,选择需要生成的数据库表和模板,生成对应的前后端代码到指定目录。这里其实还可以集成beyondcompare,对重复生成的代码做比较合并操作 

 代码生成器_第4张图片

代码生成器_第5张图片

代码生成器_第6张图片

三、项目地址

https://github.com/2507483326/emerge

 

作者:李涛

你可能感兴趣的:(前端开发)