Command line 如何从命令参数中读取gulp任务名称?
我有以下代码,它读取我传递给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"
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]);