但是,如果基于action的命令如果没有定义action,则不验证options。 varprogram =require('commander'); program .version('0.0.1','-V, --version') .command('rm ') .option('-r, --recursive','Remove recursively') .action(function(dir, cmd) {console.log('remove '+ dir + (cmd.recursive?' recu...
.description('克隆项目')//描述.option('-f, --force', '是否强制克隆')//配置命令的 option.action((source, destination, cmdOption) => {//获取执行 clone 命令时的参数console.log('do clone', source, destination, cmdOption) });//解析命令行参数program.parse(process.argv) addCommand注册子命令...
实现:let projectName;program .arguments('<project-directory>') // // .arguments('<must> [optional]') // 可设置多个命令参数 .action((name, options, command) => { projectName = name; }) // 添加命令处理函数,函数参数与命令参数一一对应 // ...program.args() // 使用 .args()...
和option一样,< >和[ ]分别代表必填和选填,图16中有三个点的写法表示剩余的参数都放在other这个数组里面,类似于es6中的语法。 action处理函数的参数与命令中的参数一一对应,但是最后一个参数有所不同,通过最后一个参数cmdObj可以获取option对应的输入值。 运行一下,如图17所示: 图17 第一种写法比较简单,我想大家...
// 匹配所有不存在的命令program.arguments('<cmd> [option]').description('友情提示:',{cmd:'要有一个必须的命令',option:'有一个可选的参数',}).action((cmd,option)=>{console.log(cmd,option);}); <>代表必须,[]代表可选。必须要有一个命令。
导语| 最近做团队底层构建工具架构升级和命令行交互打了不少交道,再加上在研究 Vue-CLI 的源码,觉得 Commander.js 作为 Node.js 下这么优秀的命令行交互工具,值得总结一下,文章主体内容搬运了 Commander.js 的官方文档,对一些晦涩的翻译部分进行了注解和必要的代码注释,适合躺在收藏夹,需要时拿出来查一查。
program.command('create <app-name>').description('create a new project').option('-f, --force, overwrite target derectory if it exists').action((name,cmd)=>{console.log(name,cmd)})program.on('--help',()=>{console.log('run wade-cli --help show details')})program.version(`wade...
.action((name, cmd) => { console.log(name) }); //解析用户传入的命令 program.parse(process.argv); 执行: 知道了大概的命令行交互,就可以通过执行的命令进行相应的操作,比如进行选项,拉取模板之类的,想要了解更详细的commander可以到GitHub上看: ...
action处理函数的参数与命令中的参数一一对应,但是最后一个参数有所不同,通过最后一个参数cmdObj可以获取option对应的输入值。 运行一下,如图17所示: 图17 第一种写法比较简单,我想大家一看就会明白! 命令command第二种用法(Git-style executable (sub)commands) ...
action处理函数的参数与命令中的参数一一对应,但是最后一个参数有所不同,通过最后一个参数cmdObj可以获取option对应的输入值。 运行一下,如图17所示: 图17 第一种写法比较简单,我想大家一看就会明白! 命令command第二种用法(Git-style executable (sub)commands) ...