commander
const {program} = require('commander')
版本
program.version('版本号','-V,--version','description')
参数 1:版本号
参数 2:可选。指令,默认为-V 和--version
参数 3:可选。指令描述
可选
program.option('-s,--small <type> [args]','description',[fn],[default])
- 参数 1: 指令。由一个断指令和长指令组成,中间用
,
、|
、空格
分割- \<>代表该指令必须输入一个值
- []代表可选
- 参数 2: 指令详细描述
- 参数 3:回调函数 可选
- 回调函数接收两个参数。参数 1 是当前接收的指令值。参数 2 是之前接收的指令值
- 参数 4:默认值 可选
必选
program.requiredOption()
使用方法同上
program.command()
配置子命令 orprogram.addCommand()
添加已经配置好的子命令什么是子命令(git 为例)
git
-v
中的-v
就是上面所讲的 optiongit
clone xxx
中的clone xxx
就是子命令了子命令也可以有 option
第一个参数你可以指定命令的名字以及任何参数。如下
progra.command('clone from <url> [option]')
一个命令有且仅有最后一个参数是可变的,你需要在参数名后加上
...
来使它可变progra.command('clone from <url> [option...]')
配合
.option()
给子命令加参数当
.command()
带有描述参数时,不能采用.action(callback)
来处理子命令带有 description 时,会在入口脚本目录中搜索子命令的可执行文件
操作处理程序
program.action()
- 参数 1:每个参数接收的变量
- 参数 2:命令对象本身
-h,--help
自动化帮助信息commander 自动生成
使用
.on('-s',()=>{})
监听-s 输入。执行回调必须在
.parse()
之前书写.usage()
和.name()
program.name('my-command').usage('[global options] command')帮助信息会以下面开头
Usage: my-command [global options] command必须加:用于解析 process.argv(默认),设置 options 以及触发 commands