nodejs实现命令行工具(二)

在完成了核心的步骤处理的函数之后我们需要对命令行参数进行处理,以判断是执行哪个命令可以使用process.argv来对命令行参数进行处理,也可以使用commander库来对命令进行解析使用commander库,可以方便我们对命令进行处理,可以采用链式的操作方式,

通过npm install commander --save来下载库

#!/usr/bin/env node

'use strict';
var program = require("commander"),
	appInfo = require("../package.json"),
	initcommand = require("../lib/command/init.commond");

program.version(appInfo.version)
	.usage("project create!");

program.command("init")
	.alias("i")
	.description('新建一个angularjs项目')
	.action(function(cmd, options){
		initcommand();
	});
program.parse(process.argv);

通过
#!/usr/bin/env node

我们可以在linux下以node的形式运行程序,通过command函数来指定一个子集指令,action是输入该命令执行的相应函数,将上节实现的步骤函数抽象到一个文件中,然后对应不同的命令,就可以执行不同的步骤函数了,实现效果如下


commander库实现了对命令的处理其中最主要的是options和command这两个函数,

options是用来在一个命令中传递相应的参数过去,如

program.option('--type [type]', `应用类型, 可选`)
然后我们就可以在下面的程序中以program.type来获取在命令行中输入的参数

command这个函数就是用来创建子命令的
如上面所示的我们可以通过多次调用program.command来创建很多个不同的子命令,然后在不同的子命令中对于不同的操作



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值