我正在尝试创建两个gulp任务,并且我希望第二个任务可以获取第一个任务的输出流并继续对其应用插件。
我能否将第一个任务的返回值传递给第二个任务呢?
以下方式无法实现:
// first task to be run
gulp.task('concat', function() {
// returning a value to signal this is sync
return
gulp.src(['./src/js/*.js'])
.pipe(concat('app.js'))
.pipe(gulp.dest('./src'));
};
// second task to be run
// adding dependency
gulp.task('minify', ['concat'], function(stream) {
// trying to get first task's return stream
// and continue applying more plugins on it
stream
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('./dest'));
};
gulp.task('default', ['minify']);
有没有办法做到这一点?
stream
是gulp
的通用回调函数,当当前任务完成时会调用它。这是一种允许依赖任务异步执行的方式,因此你的第一个任务可以在不同步的情况下告诉第二个任务何时完成。 - trysis