在run-sequence中使用gulp任务的动态列表

时间:2015-08-11 21:13:39

标签: javascript node.js run-sequence

我正在使用动态任务名称创建一些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。

感谢您的帮助, 斯科特

1 个答案:

答案 0 :(得分:3)

原来这确实是一个基本的JavaScript问题。我应该一直在使用function.apply

最终的gulp.task是这样的:

gulp.task('run-dynamic-tasks', function(){
  runSequence.apply(null, taskNamesArray);
});