我知道一个常用的方法来使Gulp任务同步到return输出:
gulp.task('mytask', function(){
return gulp.src('myfile.css')
.pipe(dosomething())
.pipe(gulp.dest('./css'));
});
Run Code Online (Sandbox Code Playgroud)
但是,如果单个任务中出现多个流,您会怎么做?
gulp.task('anothertask', function(){
gulp.src('file1.css')
.pipe(dosomething())
.pipe(gulp.dest('./css'));
gulp.src('file2.css')
.pipe(dosomethingElse())
.pipe(gulp.dest('./css'));
});
Run Code Online (Sandbox Code Playgroud)
你如何使这个任务同步?目前,Gulp报告任务立即完成,流同时运行,并在任务"完成"后完成.显然这是因为没有返回流.我应该只返回任务中的最后一个流吗?或者返回两个任务的结果更合适?如果是这样,你怎么做?
Ben*_*Ben 12
在gulp任务中使用多个管道的推荐方法是使用merge-stream:
var merge = require('merge-stream');
gulp.task('anothertask', function(){
var stream1 = gulp.src('file1.css')
.pipe(dosomething())
.pipe(gulp.dest('./css'));
var stream2 = gulp.src('file2.css')
.pipe(dosomethingElse())
.pipe(gulp.dest('./css'));
return merge(stream1, stream2);
});
Run Code Online (Sandbox Code Playgroud)