持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情
项目来源
Q:业界内脚手架有很多,但我为什么还是想自研属于自己的脚手架呢?
A:自研脚手架是为了方便日后开发时能省去一些固定的开发步骤,比如项目架构、通用功能、常见函数等等,以此达到节省开发成本的目的。而我想自研的是适用于后端开发的一套脚手架,最好是能够封装那些很常见、写得很多的功能点,比如登录注册、路由鉴权等,于是就有了这样的一个想法。
coding 前准备
在开始编码前,我们需要理清开发步骤:知道自己要干什么事,怎么做成这件事,最终要达到什么效果。只有充分思考到这些点,我们才可能在编码时做到有的放矢,不至于像无头苍蝇一样乱撞。
开发流程
- 编写模板代码
- 模板项目初始化
- 集成常用配置
- 封装功能函数/组件
- 开发 CLI 工具
- 搜罗大量文章了解脚手架原理
- 安装模块准备开发
- 有逻辑性地开发各个功能点
- 脚手架介绍
- 自定义命令
- 用户交互
- 拉取远程仓库的代码
- 自动安装依赖
- ...
当然,开发时还有其他的点要注意,比如拉取代码到本地时,判断本地文件夹是否已存在等等。不过这属于逻辑是否严密的范畴了,在开发时要多代入场景,尽量考虑周全。
模块介绍
开发 CLI 工具时,我们会用到很多模块工具,下面一一来看它们的作用:
- commander:参数解析 --help其实就借助了他~ 解析用户输入的命令
- inquirer:交互式命令行工具,用户可以进行命令行的选择
- download-git-repo:拉取GitHub上的文件
- chalk:帮我们在控制台中画出各种各样的颜色
- ora:小图标 (loading、succeed、warn等)
- metalsmith:读取所有文件,实现模板渲染
- consolidate:统一模板引擎
- handlebars:也是模板引擎,两者选其一即可
了解了这些后,我们就可以开始 coding 了。