使Gulp任务同步而不创建一堆其他任务

时间:2014-09-09 15:22:12

标签: javascript asynchronous file-io gulp

所以我写了gulpfile.js,我已经到了需要避免JavaScript异步行为的地步。简而言之,这是用于文件系统读/写。

问题是到目前为止我在网上找到的所有解决方案都创建了几个子任务;这是我想要避免的事情,因此我不必编写任何令人困惑的文档,说明在命令行中应该和不应该使用哪些任务,以及它们需要运行的顺序等等。

我的问题:如何让以下脚本同步运行每个部分,而不创建子任务?

gulp.task('rebuild', function(){
    // Remove old build
    gulp.src('build/', {read: false}).
        pipe(rimraf());

    // Copy all of the non generated files
    gulp.src('src/**/*').
        pipe(gulp.dest('build/'));

    // Parse SASS/LESS and minify JS
    build_styles();
    build_scripts();
});

1 个答案:

答案 0 :(得分:1)

如果所有其他方法都失败了,你总是可以回到地狱的回调:

gulp.task('rebuild', function(){
    // Remove old build
    gulp.src('build/', {read: false}).
        pipe(rimraf())
        .on('end', function () {
            // Copy all of the non generated files
            gulp.src('src/**/*').
                pipe(gulp.dest('build/'))
                .on('end', function () {
                    // Parse SASS/LESS and minify JS
                    build_styles();
                    build_scripts();
                });
        });
});