在node开发环境中,我们经常自己开发一些命令行工具,或基于命令行工具的任务,比如我们自己创建的gulp task。那么如何在这些我们自己写的工具里面获取命令行中的参数呢?或者说我们如何构建自己的命令行?我开发了一个process.args,可以帮你尽快实现这个功能。
npm install process.args --save-dev
假定我们现在是在为gulp写一个任务,那么只需要在gulp.task的回调函数中使用它来获得参数即可。
var processArgs = require('process.args')();
gulp.task('add',function(){
var args = processArgs.add;
console.log(args);
});
使用很方便。
process.args
使用的风格是偏严谨的,有三种格式的参数:-v
,--name=Mick
,---yo=lock
,也就是前面的短横线的个数不同,代表三种不同的参数。
-
代表缩写,比如-v
,-g
之类的--
代表全称,比如--name=checkValue
,--use-page=~/pages/preview.html
---
代表对前面的所有命令传参
最后一种形式展开讲一下,比如我们有这样一个命令:
gulp add build preview ---name=my_plugin
我们使用gulp增加了三个任务add
,build
,preview
,分别对应创建、编译、预览,后面加一个name
参数,就可以进行对应的操作。如果使用--
参数的话,就必须在每一个命令后面都写一遍--name=my_plugin
,但是用---
只要一个就搞定了。
如果命令出现在---
后面,就不享受---
带来的好处,比如
gulp add build ---name=test2 preview
这个时候preview是不能得到name
的值的。
完整的文档可以在这里阅读:https://www.npmjs.com/package...
如果你有疑问,可以在github上提issue: https://github.com/tangshuang...