1.0.2 • Published 6 years ago
sevenroad-cli v1.0.2
sevenroad-cli
像我们熟悉的 vue-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目。在实际工作中,我们可以定制一个属于自己的脚手架,来提高自己的工作效率。
为什么需要需要脚手架?
- 减少重复性的工作,不再需要复制其他项目再删除无关代码,或者从零创建一个项目和文件。
- 根据交互动态生成项目结构和配置文件等。
- 多人协作更为方便,不需要把文件传来传去。
第三方库
在构建一个脚手架过程中,我们一般会用到的库。
- commander.js 可以自动解析命令和参数,用于处理用户输入的命令
- inquire.js 命令行交互工具
- down-git-repo 下载并提取git仓库,用于下载项目模板
等等
开发前的考虑
vue-cli脚手架是完全按模板的方式开发,再通过命令动态生成项目模板,对上手的难度较高,因此考虑使用最简单的压缩下载实现脚手架功能。
使用Node压缩目录文件夹并下载压缩包解压,也会遇到问题,模板存放位置,和命令如何交互,如果放在项目目录下,打包后的项目文件会包括所有模板文件,脚手架的体积会比较大,而且不够灵活,每次添加模板都需要重新打包。
借用vue-cli的思路,文件存放在github等网络平台上,通过命令行对其进行下载,或另起一个项目,专门管理脚手架文件。
用Node开发一个脚手架工具
- 在项目中主要使用命令行进行操作,使用commander.js对命令进行监听
- 使用inquire.js显示模板列表及其他选项并接收用户选择的参数,增加命令行交互体验
- 使用chalk插件对输出日志的颜色进行处理,使显示体验更好
- 为了考虑更新的便利性,模板配置不保存在本地,另外部署一套项目专门管理模板,并提供模板列表接口
- 使用request进行http请求,获取到模板列表
- 使用download插件进行文件的下载并解压
后续考虑进行的功能添加和优化
- 添加git支持,能通过命令直接下载git项目
- 为模板源项目单独建立网页版文件管理工具
- 使用electron开发桌面端脚手架工具
- 后续添加出模板外其他管理功能
学习到的经验
- 学习了更多的node操作命令和文件技巧
- 学习了相关库和插件的用法
- 对express了解更为深入
更新日志
2018-08-29
1.优化README.md介绍
2.修改模板库部署地址
2018-8-28
1.初始化提交项目