xszi/docs

cli原理与简单实现

Opened this issue · 0 comments

xszi commented

代码地址:

cli

cli1

Cli

cli是一种通过命令行来交互的工具应用,全称Command Line Interface。比较常见的就是 create-react-appvue-cli等,他们都能够将一段js脚本,通过封装为可执行代码的形式,进行一些操作。

使用cli之后呢,能快速的创建一些我们业务中的样板文件,比如快速创建一个项目内容,配置公共的eslintwebpack等等配置工具

在封装这些内容之前,我们需要使用如下的几个库:

  • commander:命令行中的参数获取
  • inquirer:命令行的表单
  • chalk:命令行中的可变颜色效果
  • clui:命令行中的loading效果
  • child_process:node原生模块,提供一些方法让我们能够执行新的命令

child_procee中有一些方法,比如exec等,exec方法用于新建一个子进程,然后缓存它的运行结果,运行结束后调用回调函数

我们这里可以使用execSync,它能够执行一些我们linux中的命令

实现内容如下:

  1. 两种括号代表选填和必填
  2. --help 举例
  3. 插件
  4. process.cwd()
  5. git clone下载
  6. inquirer
  7. child_process
  8. chalk
  9. clui