85520694 2019-06-26
NPM酷库,每天两分钟,了解一个流行NPM库。
昨天,我们学习的minimist库,用于解析Node.js命令行参数,能将参数数组process.env.argv
转换为一个更易于访问的对象。
今天,我们继续学习一个更加强大的命令行参数处理库commander。
commander 是一个命令行参数处理的完整的解决方案,不仅仅包含参数数组的解析转换,更支持如下特性:
应用实例:
const program = require('commander'); program .version('0.1.0') .option('-C, --chdir <path>', 'change the working directory') .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf') .option('-T, --no-tests', 'ignore test hook'); program .command('setup [env]') .description('run setup commands for all envs') .option("-s, --setup_mode [mode]", "Which setup mode to use") .action(function(env, options){ let mode = options.setup_mode || "normal"; env = env || 'all'; console.log('setup for %s env(s) with %s mode', env, mode); });
https://github.com/tj/command...
http://tj.github.io/commander...
每天了解一个NPM库,一年后成为Node.js高手