2016-10-06 3 views
0

Не могу понять, почему gulp.series() не срабатывает в моей функции обратного вызова.gulp.series() не запускает задачи

Я пытаюсь захватить строку с пользовательского ввода с помощью gulp-prompt и вызвать функцию построения и развертывания с помощью gulp.series(). Мои задачи в пределах gulp.series() не срабатывают вообще.

gulp.task('test', function(){ 
    const prompt = require('gulp-prompt'); 
    return gulp.src('test.js') 
    .pipe(prompt.prompt({ 
     type: 'checkbox', 
     name: 'env', 
     message: 'which environment do you want to deploy to?', 
     choices: ['qa','prod'] 
    },function(res){ 
     //console.dir(res.env); 
     var env = res.env; 
     console.log(env); 
     console.log('hi'); 
     gulp.series('clean', 'patternlab:build', 'tag-version', deployWeb.bind(this, env), function(done){ 
      done(); 
     }); 
    })); 
}); 

ответ

1

gulp.series('task1', 'task2') Вызов делает не запустить task1 и task2. Все, что он делает, это вернуть новую функцию. Только после вызова функция выполняет фактически выполненные задачи.

Это означает, что в вашем случае вам нужно сделать следующее:

var runTasks = gulp.series('clean', 'patternlab:build', 
          'tag-version', deployWeb.bind(this, env)); 
runTasks(); 

Вся function(done){ done(); } часть, которую вы имели в своем коде на самом деле не имеет особого смысла и не нужна для gulp.series().

+0

Спасибо! Я все еще пытаюсь понять, что сделал(). Я ценю вашу помощь! – jmdesigner81

+0

Спасибо за исправление моего вопроса! – jmdesigner81