Использование динамического списка задач gulp в последовательности выполнения

Я создаю несколько простых задач с динамическими именами задач. Эти задачи должны выполняться по порядку, а не параллельно. Я помещаю имена задач в массив, но получаю ошибку из последовательности выполнения. Я предполагаю, что эта ошибка - проблема с тем, как я перечисляю задачи из массива в моем коде последовательности выполнения.

Это то, что я делаю:

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, в отличие от последовательности выполнения или узла.

спасибо за любую помощь, Скотт

1 ответ

Решение

Оказывается, это действительно основная проблема JavaScript. Я должен был использовать function.apply

Окончательный gulp.task это:

gulp.task('run-dynamic-tasks', function(){
  runSequence.apply(null, taskNamesArray);
});
Другие вопросы по тегам