不可否认,前
处理,内置process.agrv使用,它可以
工作,但它不工作。所以TJ写下了我的上帝。
1。
安装 复制代码代码如下所示:
新安装的指挥官
2,期权分析
带
选项的
命令用选项(
方法)定义,也作为选项的
文档。下面的示例分析
参数和选项process.argv,留下剩余的参数为program.args阵未被选择。
复制代码代码如下所示:
#! / usr /斌/环境结
*模块依赖。
* /
VaR
程序=需要('commander);
程序
('0.0.1版)。
。选项(- P -辣椒,'add辣椒)
。选项(- P -菠萝,'add菠萝)
。期权(B——烧烤,'add烧烤酱)
。选项(- C -奶酪{型},'add指定
类型的奶酪{大理石},)
。解析(过程参数);
console.log(你点了一份比萨:');
如果(程序。辣椒(辣椒)console.log');
如果(程序。菠萝)console.log('菠萝');
如果(程序。烧烤)console.log(烧烤);
console.log(%的奶酪,奶酪的程序。);
短标志可以作为一个单独的精氨传递,例如,它被称为是非。
三.自动生成帮助信息
复制代码代码如下所示:
美元/示例——帮助
用法:比萨饼{选项}
选项:
- v,版本输出版本号
-胡椒加辣椒
-菠萝加菠萝
-烧烤加烤肉酱
- C,-奶酪添加指定类型的奶酪{大理石}
h,帮助输出使用信息
当然,您也可以手动生成它:
复制代码代码如下所示:
#! / usr /斌/环境结
*模块依赖。
* /
var程序=();
函数列表(瓦尔){
返回val.split(',')。图(数);
}
程序
('0.0.1版)。
。选项(- F - foo,'enable一些foo)
。选项(- B -酒吧,'enable酒吧)
。期权(B,——巴兹,'enable一些巴兹);
必须在(解析之前)
发出(立即)节点的
program.on('帮助',函数(){(){
console.log('examples:);
console.log(' ');
console.log($自定义帮助帮助);
console.log($自定义帮助H);
console.log(' ');
});
program.parse(过程参数);
console.log(阻碍);
4。一个完整的例子
复制代码代码如下所示:
函数范围(缬氨酸){
返回val.split.map(数)(..);
}
函数列表(瓦尔){
返回val.split(',');
}
函数收集(缬氨酸,备忘录){
Memo.push(Val);
返回的备忘录;
}
功能increaseverbosity(V总){
返回总数+ 1;
}
程序
('0.0.1版)。
用法({选项})
。期权('我,--整数,一个整数参数,parseInt)
。选项(- F,——浮,浮的争论,parseFloat)
。期权(的R -范围。一、范围、范围)
。选项(-,-名单,名单,名单)
。选项('啊,——可选的{value} ',一个可选的价值)
。选项(- C -收集{value}、重复值,收集,{ })
。选项(- V -
详细','价值可以增加,increaseverbosity,0)
。解析(过程参数);
console.log('int:% J,program.integer);
console.log(浮点:% J,program.float);
console.log('optional:% J,program.optional);
program.range = program.range | | { };
console.log('range:%·% J,程序。范围{ 0 },项目范围{ 1 });
console.log('list:% J,program.list);
console.log('collect:% J,program.collect);
console.log('verbosity:% J,program.verbose);
console.log('args:% J,程序参数);