我正在使用动态任务名称创建一些gulp任务。这些任务需要按顺序运行,而不是并行运行。我将任务名称放在一个数组中,但是我从运行序列中得到一个错误。我认为这个错误是我在run-sequence代码中列出数组中任务的问题。
这就是我正在做的事情:
var taskNames = ['task1', 'task2', 'task3']
然后对于运行顺序我正试图这样做:
gulp.task('run-dynamic-tasks', function(){
runSequence(
taskNames.join(", \n"),
function(){
browserSync.reload();
}
);
});
这不起作用并出现此错误:
错误:任务task1,
TASK2,
task3未配置为gulp上的任务。如果这是一个子模块(错误继续)
请注意,如果数组中只有一个任务,例如:
var taskNames = ['task1']
然后这段代码就可以了。
我认为这可能是一个javascript错误,而不是run-sequence或node。
感谢您的帮助, 斯科特
答案 0 :(得分:3)
原来这确实是一个基本的JavaScript问题。我应该一直在使用function.apply
最终的gulp.task是这样的:
gulp.task('run-dynamic-tasks', function(){
runSequence.apply(null, taskNamesArray);
});