# Commander
/* index.js */
cosnt { Command } = require('commander')
const program = new Command()
program
.command('create <name>')
.optioins('-f')
.action(name => {
// .do something
})
# .option()
- 选项名称,每个选项名称可以定义一个短名称(
-optionName)和一个长名称(--longOptionName),使用**逗号、空格或者|**分割- 必填参数
<arg> - 可选参数
[arg],可选参数不传值则会当做boolean类型处理 - 变长参数
<arg...>或者[arg...]
- 必填参数
program
.option('-s, --split <char>')
.option('-f')
.option('-v [option]')
// node index.js -s hello -f
program.opts() // { split: hello, f: true }
- 描述,一般作用
--help
program.option('-s, --split <char>', '这是描述')
// node index.js -h (--help)
'-s, --split 这是描述'
- 默认值,需要选项不能为 boolean
program.option('-s, --split <char>', '这是描述', 'default')
// node index.js
program.opts() // { split: default }
# .version()
- 设置版本号
program.version('1.0.1')
// node index.js -V => 1.0.1
# command()
- 添加命令
- 可以使用模板字符串添加
- 可以使用
.argument()单独指定
// 使用模板字符串
program.command('create <name> [opt]', '可选的说明').action((name, opt, options) => {})
// 使用 .argument
program
.command('create')
.argument('<username>', 'desc')
.argument('<list...>', 'desc')
# action()
- 处理函数
program.action((...args: any[], options) => void)
← 脚手架