我正在关注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答案没有解释为什么,我 由于信誉低而无法发表评论。
如果有人能解释发生了什么事,我将不胜感激。