jz-custom-cli
1.0.8 • Public • Published
获取选项: const options = program.opts();
function handleFirst(value) {
option('-f, --first', '这是一个布尔类型的参数'):固定值是false
option('-f, --first', '这是一个布尔类型的参数', handleFirst):固定值是false;解析器:handleFirst
执行命令:node index.js -f :输出:错误
option('-a, --aCount ', '这是一个参数')
option('-a, --aCount ', '这是一个参数', 100) :默认值是100
option('-a, --aCount ', '这是一个参数', 100, handleACount):默认值是100;解析器:handleCount
执行命令:node index.js -a 200 :输出:201
option('-b, --bCount <number...>', '这是一个参数')
执行命令:node index.js -b 200 300 400 :输出:[200, 300, 400]
定义一个以no-开头的 boolean 型长选项。
.option('--no-pay', '这是一个布尔类型的参数'); node index.mjs:输出:{ payCount: true } node index.mjs --no-payCount :输出:{ payCount: false }
.option('--payCount ', '这是一个布尔类型的参数', handleFirst, 222);node index.mjs --payCount :输出:{ payCount: 222 }
可选参数类型(不能设置默认值),在命令行中使用该选项时,带参数时,使用的参数,否则是布尔值true;
option('-c, --cCount [type]', '这是可选参数类型');node index.mjs -c :输出:{ cCount: true }
option('-c, --cCount [type]', '这是可选参数类型');node index.mjs -c 111:输出:{ cCount: 111 }
requiredOption('-d, --dCount ', '这是必填参数');node index.mjs -d 111:输出:{ dCount: 111 }
addOption(new Option('-s, --secret').hideHelp());node index.mjs -h;看不到此选项
addOption(new Option('-t, --timeout ', 'timeout in seconds').default(60, 'one minute')):默认值
addOption(new Option('-d, --drink ', 'drink size').choices(['small', 'medium', 'large'])):固定选项值
addOption(new Option('-po, --port ', 'port number').env('PORT')):使用 .env 方法:指定了一个环境变量 PORT,如果用户没有通过命令行传递端口号,Commander.js 会尝试从环境变量中获取值。
addOption(new Option('--free-drink', 'small drink included free ').implies({ a: '安徽省', b: '合肥市', c: '包河区' }));:使用 .implies 方法:执行该命令,意味输出 a: '安徽省', b: '合肥市', c: '包河区'。
argument('<params...>', '添加多个参数'):添加一个参数
addArgument(new Argument('', 'drink cup size').choices(['small', 'medium', 'large'])): 添加指定参数
option 方法一样,默认值、默认值、固定选项值
Readme
Keywords
nonePackage Sidebar
Install
Weekly Downloads