美文网首页
commander的用法

commander的用法

作者: codingQi | 来源:发表于2021-07-20 18:44 被阅读0次
    // 写在顶部,运行在node环境
    #!/usr/bin/env node 
    
    const commander = require('commander')
    commander
        .command('rm <dest> [otherDirs...]') // <dest>:目标参数;[otherDirs...]:可选参数
        .alias('r') // rm的别名
        .option('-r, --recursive', 'Remove recursively') // 默认cmd.recursive为
        .option('-d --drink <val1> [val2]', 'Drink', 'Beer') 
        // --drink中的drink为cmd.drink的key;
        // <val1>为必选参数,会赋值给drink,-d后面必须写参数,否则会报错;
        // [val2]为可选参数,会赋值给drink,可不传;
        // 'Drink'为描述;
        // 'Beer'为drink的初始值,会被<>或者[]覆盖;
        .action(function (d, otherD, cmd) {
            console.log('remove ' + d , cmd, cmd.drink, cmd.recursive)
            if (otherD) {
                otherD.forEach(function (oDir) {
                    console.log('rmdir %s', oDir);
                });
            }
    
        })
    commander.parse(process.argv)
    

    以下为各个情况的打印结果:


    测试结果

    找的比较详细的资料:

    1. Commander写自己的Nodejs命令
    2. Nodejs开发简单的脚手架工具

    相关文章

      网友评论

          本文标题:commander的用法

          本文链接:https://www.haomeiwen.com/subject/ngsrmltx.html