• 一、commander


    #!/usr/bin/env node
    const program = require('commander');
    const colors  = require('colors');
    const pkg = require('./package.json');
    function range(val, d) {
        return val.split('..').map(Number);
      }
       
      function list(val) {
        return val.split(',');
      }
       
      function collect(val, memo) {
        memo.push(val);
        return memo;
      }
       
      function increaseVerbosity(v, total) {
        return total + 1;
      }
    program
        .version(pkg.version, '-v, --version')
        .option('-u, --username <firstname>', 'add username')
        .option('-p, --password [num]', 'add password')
        .option('--no-sauce', 'Remove sauce')
    
        // .option('-i, --integer <n>', 'An integer argument', parseInt)
        .option('-f, --float <n>', 'A float argument', parseFloat)
        .option('-r, --range [a..b]', 'A range', range, 12)
        .option('-l, --list <items>', 'A list', list)
        .option('-o, --optional [value]', 'An optional value')
        .option('-c, --collect [value]', 'A repeatable value', collect, [])
        .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0)
     
    
    
    program
        .command('create <project> [rest...]')
        .alias('init')
        .description('ssy cli description')
        .option('-i, --information [info]', 'add information')
        .action((projectName, cmd, options)=>{
            console.log("ssy",projectName, cmd, options.information)
        })
    
    if (!process.argv.slice(2).length) {
        program.outputHelp(make_red);
    }
           
    function make_red(txt) {
        return colors.red(txt); //display the help text in red on the console
    }
    // must be before .parse() since
    // node's emit() is immediate
    program.on('--help', function(){
        console.log('')
        console.log('Examples:');
        console.log('  $ ssy --help');
        console.log('  $ ssy -h');
    });
    program.parse(process.argv);
    // console.log(program);
  • 相关阅读:
    win10系统设置指定程序开机自启
    PyCharm 2020.1 x64 专业版破解【亲测有效】
    xampp_mysql数据库root登录报错1045-Access denied for user 'root'@'localhost' (using password:YES)
    关于 Tomcat 启动时,解决控制台输出日志乱码问题的方案
    1.css选择器
    5.canvas
    4.音频与视频
    3.form表单
    淘宝店铺设计
    2.html5新布局元素
  • 原文地址:https://www.cnblogs.com/shangyueyue/p/10502010.html
Copyright © 2020-2023  润新知