👉 CodeSpark(代码生成器共享平台)
🍃 前端技术栈:
- Vue3开发框架
- Ant Design Vue组件库
- TypeScript+Prettier
🌱 后端技术栈:
- Nest.js+MongoDB
- 命令行开发工具:Command.js+inquirer.js+chalk
- 模板引擎:Art-template.js
- 文件操作扩展:fs-extra+adm-zip
- Redis缓存
- 对象存储
1)日常或者常见的重复性代码片段,解决重复编码,效率低下的问题
2)网上的代码生成器或者说脚手架生成的模板,对初学者很友好,但是对于熟悉的开发者来说就无法满足实际开发定制需求了,可以制作属于自己的项目模板生成器,同时也可以抽取公共方法制作通用模板分享出去。
3)通用模板的的分享,可以构建出一个平台,一个代码生成器共享平台,开发者可以定制代码生成器并发布,也可以在线制作,使用者可以下载代码生成器,也可以在线使用代码生成器。
- 可以保存一些自己的数据结构或者算法题解模板
- 可以制作一个属于自己的框架模板生成器,比如:可以制作一个属于自己的Nest.js项目的模板生成器
- 还可以上网找一些热门项目进行“换皮”
参数+模板文件 => 生成完成代码
🍉 例子如下:
参数:name = CodeSpark
模板文件代码:
----------
I am {{name}}
----------
将参数注入模板文件,得到生成的完整代码:
-----------
I am CodeSpark
-----------
如果需要生成不同的代码,只需要修改参数就可以了,不需要修改文件
- 第一阶段:制作属于自己的本地代码生成器,是一个基于命令行的脚手架,能够根据用户交互式输入的参数快速生成特定的代码
- 第二阶段:开发制作代码生成器的工具,比如我们有一段常用的项目代码,使用该工具,可以快速把项目代码制作微第一段的代码生成器,将提高开发者的效率
- 第三阶段:开发代码生成器共享平台,我们可以在平台生发布自己的代码生成器,也可以在线制作代码生成器,用户可以下载代码生成器,还可以在线使用代码生成器。
-
准备用于制作代码生成器的原始代码(比如算法模板项目),用于后续生成
-
开发者基于原始代码,设置参数,编写动态模板
-
制作可交换的命令行工具,支持用户输入参数,得到主文件
-
使用者可以执行node命令,将执行文件路径换成Shell命令,简化调用,同时执行程序输入参数,从而生成完整代码
- 准备用于制作代码生成器的原始代码(比如 Nest.js的项目模板),用于后续生成
- 开发者基于原始代码,使用代码生成器制作工具,来快速设置参数,生成动态模板
- 使用者代码生成制作工具,动态生成代码生成器jar包
- 使用者得到代码生成jar包,执行程序并输入参数,得到完整代码
流程图:
- 获取用于代码生成器的原始代码
- 开发者可以基于原始代码,使用在线代码生成器制作工具,来快速制作代码生成器
- 开发者发布代码生成器至平台
- 使用者在平台上搜索代码生成器,支持在线使用或者下载离线程序包
流程图: