概述
近年来 cli 工具 的开发,对于一直倒退的前端生态来说,仿佛也逐步成为工程师们的必备技能。其实开发一个 cli 工具 并不难,但对于前端的同学可能存在一点认知上的小门槛,特地是对于刚开始接触 cli 脚手架工具开发的同学来说,如何搭建一个 cli 的开发环境还是挺让人抓狂的。
明天要介绍的工具能够让咱们间接跳过这个门槛,专一于开发 cli 的性能,它就是 cligetter。
装置
npm install cligetter -g
应用
cligetter 的应用特地简略,目前提供了两套 cli 开发模版,blank 和 cac
- blank 会创立一个空模版,应用 tsc 提供 ts 反对,是一个极简的 cli 开发环境
-
cac 会创立一个基于 CAC 开发模版,应用 rollup 进行编译构建来解决应用 esm 时 commonjs 上下文缺失的问题
应用模版创立一个 cli 我的项目
能够应用 new 命令来创立一个新的 cli 我的项目
cligetter new <projectName>
这里咱们创立一个名为 my-cli 的工程,并指定为 cac 模版
cligetter new my-cli --template=cac
或者简写为:
cligetter new my-cli -t cac
启动开发环境
在控制台执行生成命令后咱们失去以下提醒,那么接下来依照程序执行即可
入口文件
我的项目构造如图所示,scripts/index.ts 为我的项目的入口文件,模版中曾经应用 cac 编写好了一个指令的样例
测试模版内置的指令
执行指令
咱们能够在我的项目目录下关上终端,输出
node ./bin/cli.js log hello-world
能够看到胜利执行了 log 指令并在控制台输入了 log 信息
指令携带参数
接下来再测试一下 –level 选项:
node ./bin/cli.js log hello-world --level=warning
在 options 中,level 选项的值也获取到了
最初
至此咱们曾经应用 cligetter 生成了 cli 工具 的模版和开发环境,接下来就能够开始欢快的 cli 开发之旅了