Я следовал учебнику по gulp, но похоже, что он использует gulp ^ 3.9.1, поэтому я подумал о переходе на gulp ^ 4.0 Теперь возникает проблема, когда я конвертирую gulp.start()
в gulp.series()
.
Вот оригинальный код:
gulp.task("test", function(){
console.log("a test task");
});
gulp.task('watch', function(){
watch('./app/index.html', function(){
gulp.start('test');
});
});
И вот что я сделал:
gulp.task('test', (done)=>{
console.log('Well done.');
done();
});
gulp.task('watch', function(done){
watch('./app/index.html', function(){
gulp.series('test', function(error){ //I use callback function since gulp.series() can take multiple tasks
if(error){
console.log('error');
}
else{
console.log('congratulations!');
}
});
});
done();
});
Когда я делаю изменения в HTML-файле, ответа нет.Но это становится интересным, когда (согласно ответу на StackOverflow) я помещаю функцию обратного вызова в отдельный набор скобок, например:
gulp.task('watch', function(done){
watch('./app/index.html', function(){
gulp.series('test') (function(error){
if(error){
console.log('error');
}
else{
console.log('congratulations!');
}
});
});
done();
});
И вдруг это работает.Ответ от stackoverflow не объясняет почему, и я не могу комментировать из-за низкой репутации.
Буду признателен, если кто-нибудь сможет объяснить, что происходит?