NPM酷库:commander,命令行参数处理框架
NPM酷库,每天两分钟,了解一个流行NPM库。
昨天,我们学习的minimist库,用于解析Node.js命令行参数,能将参数数组process.env.argv
转换为一个更易于访问的对象。
今天,我们继续学习一个更加强大的命令行参数处理库commander。
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高手
相关推荐
dxbjfu0 2020-09-11
bluecarrot 2020-08-19
zhaobig 2020-06-25
xiaohouye 2020-04-20
83520298 2020-04-16
rechanel 2020-02-28
站在高处眺望 2020-02-20
tydldd 2020-02-09
83520298 2020-01-26
83520298 2020-01-24
sunnyJam 2020-01-12
yuzhongdelei0 2019-12-31
tomson 2019-12-14
80304053 2019-12-10
qingshuoyisheng 2013-09-16
89961330 2019-11-16
invokerzhang 2019-11-10
xiejianming 2010-12-19