Command line 如何从命令参数中读取gulp任务名称?

Command line 如何从命令参数中读取gulp任务名称?,command-line,gulp,Command Line,Gulp,我有以下代码,它读取我传递给gulp的任务名称:release或test,并基于此决定从文件中加载哪个任务组 var argv = require('yargs').argv; var group = argv._[0]; var groups = { "release": ["tasks/release/*.js", , "tasks/release/deps.json"], "test": ["tasks/test/*.js", "tasks/test/deps.json"

我有以下代码,它读取我传递给gulp的任务名称:
release
test
,并基于此决定从文件中加载哪个任务组

var argv = require('yargs').argv;
var group = argv._[0];

var groups = {
    "release": ["tasks/release/*.js", , "tasks/release/deps.json"],
    "test": ["tasks/test/*.js", "tasks/test/deps.json"]
};

require("gulp-task-file-loader").apply(null, groups[group]);
有没有更好的方法从gulp本身获得命令任务,而不是使用
yargs

我找到了一个关于CLI工具的方法。根据它我应该使用,所以我这样做。它比野鸭好多了。在本例中,另一种可能的解决方案是使用
process.argv[2]
,但长期使用解析器要好得多

var program = require("commander");
program.parse(process.argv);

var group = program.args[0];

var groups = {
    "release": ["tasks/release/*.js", , "tasks/release/deps.json"],
    "test": ["tasks/test/*.js", "tasks/test/deps.json"]
};

require("gulp-task-file-loader").apply(null, groups[group]);