Fork me on GitHub

tag-2021-08-02-tag

为什么要CLI

CLI 英文全称为Command Line Interface,是在图形界面普及之前人们与电脑的交互方式。例如我们经常在控制台敲的命令系统,或者linux的操作系统命令,或者自己定义的一些列电脑操作命名,凡是通过这种命令去与计算机交互的统称为CLI。与之对应的GUI(Graphical User Interface)则是具有图形界面的操作交互。有些时候图形界面操作较命令交互的操作简单直接,因为它更符合人的直觉,试想一下如果window的交互方式是在屏幕上打一些无聊的代码,那么绝大数人都会放弃使用它。然而在很多时候,命令交互方式会比图形界面要便捷,这种场景常见于程序猿的世界。实际上你用cd folder 命令去打开一个文件夹还是用鼠标双击打开并没有多大的区别。区别在于你更喜欢哪种方式。大多数人喜欢后者,因为双击的操作是不需要学习(或者学习成本是非常之少的),或者学习成本非常小。而对于另外一些人来说,习惯使用命令非快速提高自己的工作效率。(非常符合作为一个程序开发者的身份)。

CLI在前端

前端开发早已经不是刀耕火种的年代了,仅仅在几年以前,单纯地组织js、css和html文件就能随心所欲地游刃在前端界,如今随着业务的增加以及对新的特性的追求(不管在语言上还是特性上),前端的工作量不再局限在只会写些HTML CSS 和JS 的范畴了。为了适应快速稳定的产品输出,前端应用的输出模式也开始像传统的IT项目靠齐:一个完成的开发周期。这其中就包括了新建模板仓库、构建,开发、自动化测试,上线部署,持续交付/集成等多个环节。每一个环节都对应这不同的开发运用模式,以及与之相匹配的也有开发环境和开发工具。为了将分散的工具和命令统一,我们需要一套完整的构建命令,来帮助我们构建起来在整个过程当中的逻辑的关联性和连续性。因此开发出一套属于自己业务的CLI命令系统是很有必要的。
image.png
本篇文章将以一个实际项目中的实践为基础,使用node作为开发语言讲解如何设计一个CLI工具以及它的部分实践细节。实际上使用任何语言都是可以的,但是对于前端的生态系统来说,JavaScript是最合适和最方便的语言来处理我们的前端各种业务。该CLI工具的源码已经存放在github上,你可以直接下载,另外CLI工具也做成了npm的一个包,通过npm install 可以直接安装。

万事开头难

博文已经迁移至新地址

posted on 2021-10-31 13:51  chen·yan  阅读(469)  评论(0编辑  收藏  举报