1.0.2 • Published 6 years ago

sevenroad-cli v1.0.2

Weekly downloads
2
License
ISC
Repository
-
Last release
6 years ago

sevenroad-cli

像我们熟悉的 vue-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目。在实际工作中,我们可以定制一个属于自己的脚手架,来提高自己的工作效率。

为什么需要需要脚手架?

  • 减少重复性的工作,不再需要复制其他项目再删除无关代码,或者从零创建一个项目和文件。
  • 根据交互动态生成项目结构和配置文件等。
  • 多人协作更为方便,不需要把文件传来传去。

第三方库

在构建一个脚手架过程中,我们一般会用到的库。

  • commander.js 可以自动解析命令和参数,用于处理用户输入的命令
  • inquire.js 命令行交互工具
  • down-git-repo 下载并提取git仓库,用于下载项目模板

等等

开发前的考虑

vue-cli脚手架是完全按模板的方式开发,再通过命令动态生成项目模板,对上手的难度较高,因此考虑使用最简单的压缩下载实现脚手架功能。

使用Node压缩目录文件夹并下载压缩包解压,也会遇到问题,模板存放位置,和命令如何交互,如果放在项目目录下,打包后的项目文件会包括所有模板文件,脚手架的体积会比较大,而且不够灵活,每次添加模板都需要重新打包。

借用vue-cli的思路,文件存放在github等网络平台上,通过命令行对其进行下载,或另起一个项目,专门管理脚手架文件。

用Node开发一个脚手架工具

  1. 在项目中主要使用命令行进行操作,使用commander.js对命令进行监听
  2. 使用inquire.js显示模板列表及其他选项并接收用户选择的参数,增加命令行交互体验
  3. 使用chalk插件对输出日志的颜色进行处理,使显示体验更好
  4. 为了考虑更新的便利性,模板配置不保存在本地,另外部署一套项目专门管理模板,并提供模板列表接口
  5. 使用request进行http请求,获取到模板列表
  6. 使用download插件进行文件的下载并解压

后续考虑进行的功能添加和优化

  1. 添加git支持,能通过命令直接下载git项目
  2. 为模板源项目单独建立网页版文件管理工具
  3. 使用electron开发桌面端脚手架工具
  4. 后续添加出模板外其他管理功能

学习到的经验

  1. 学习了更多的node操作命令和文件技巧
  2. 学习了相关库和插件的用法
  3. 对express了解更为深入

更新日志

2018-08-29
1.优化README.md介绍
2.修改模板库部署地址
2018-8-28
1.初始化提交项目