【自研脚手架详细教程】实战准备

126 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情

项目来源

Q:业界内脚手架有很多,但我为什么还是想自研属于自己的脚手架呢?
A:自研脚手架是为了方便日后开发时能省去一些固定的开发步骤,比如项目架构、通用功能、常见函数等等,以此达到节省开发成本的目的。而我想自研的是适用于后端开发的一套脚手架,最好是能够封装那些很常见、写得很多的功能点,比如登录注册、路由鉴权等,于是就有了这样的一个想法。

coding 前准备

在开始编码前,我们需要理清开发步骤:知道自己要干什么事怎么做成这件事最终要达到什么效果。只有充分思考到这些点,我们才可能在编码时做到有的放矢,不至于像无头苍蝇一样乱撞。

开发流程

  1. 编写模板代码
  • 模板项目初始化
  • 集成常用配置
  • 封装功能函数/组件
  1. 开发 CLI 工具
  • 搜罗大量文章了解脚手架原理
  • 安装模块准备开发
  • 有逻辑性地开发各个功能点
    • 脚手架介绍
    • 自定义命令
    • 用户交互
    • 拉取远程仓库的代码
    • 自动安装依赖
    • ...

当然,开发时还有其他的点要注意,比如拉取代码到本地时,判断本地文件夹是否已存在等等。不过这属于逻辑是否严密的范畴了,在开发时要多代入场景,尽量考虑周全。

模块介绍

开发 CLI 工具时,我们会用到很多模块工具,下面一一来看它们的作用:

  • commander:参数解析 --help其实就借助了他~ 解析用户输入的命令
  • inquirer:交互式命令行工具,用户可以进行命令行的选择
  • download-git-repo:拉取GitHub上的文件
  • chalk:帮我们在控制台中画出各种各样的颜色
  • ora:小图标 (loading、succeed、warn等)
  • metalsmith:读取所有文件,实现模板渲染
  • consolidate:统一模板引擎
  • handlebars:也是模板引擎,两者选其一即可

了解了这些后,我们就可以开始 coding 了。

实战过程