• 首页
  • nodejs
  • commander.js node.js下又一个命令交互开源包

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('')  
});



回到顶部