gulp.series()无法运行回调函数

时间:2019-06-11 09:58:25

标签: javascript gulp gulp-4

我正在关注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答案没有解释为什么,我 由于信誉低而无法发表评论。

如果有人能解释发生了什么事,我将不胜感激。

0 个答案:

没有答案