commander.js node.js下又一个命令交互开源包
上周分享了一篇关于node.js 下命令行框架 yargs 如何实现与程序交互
今天又一款强大的命令行框架开源包 commander.js
node.js 下的commander是从Ruby下同名项目移植过来的.下面我们来简单了解下.
github项目地址:https://github.com/tj/commander.js
npm 地址:https://www.npmjs.com/package/commander
使用:
npm install --save commander
var commander = require('commander'); //定义参数 commander. .version('1.0.0') .usage('[options] [value ...]') .option('-l, --message <string>', 'website langueage');
commander.version 可以指定当前应用程序的一个版本号.
usage 指定使用方法,这里让我们输入一直值.
option 指定参数,格式,及参数说明.
这里的示例和上一篇博文一样,我们还是用站点中英文语言为例.
app.js 代码如下:
var commander = require('commander'); commander .version('1.0.0') .usage('[options] [value ...]') .option('-l, --langu', 'website langueage') .parse(process.argv); if (commander.langu == 'zh-cn') { console.log('Chinese website!'); }else if(commander.langu == 'en') { console.log('English website!'); }
启动app.js 时,接受一个 -l 的参数
$node app.js -l zh-cn Chinese website!
$node app.js -l en Chinese website!
commander 可以自定义帮助信息
commander.on('help', function() { console.log(' # website langueage ') console.log(' $ ./app.js -l \"a string zh-cn or en \" ') console.log('') });