在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...


否子戈
2.2k 声望143 粉丝

疯狂前端开发中……