我有兩個吞嚥任務,我需要運行,一個爲js
,一個爲css
。我需要他們以不同的方式運行build-dev
(未縮小)和build-prod
(縮小)。返回後繼續管道吞嚥任務
要做到這一點,我去掉了任務的縮小和gulp.dest部分爲js
和css
和我,而不是返回gulp.src的任務build-prod
或build-dev
。這兩個任務build-prod
或build-dev
現在負責以不同方式操作js
和css
任務。
如何將任務'gulp.src
返回到build-prod
或build-dev
繼續管道?
注意:因爲它是一個流,看來我是最後一個管道完成後返回流爲任務,然後因爲它是異步的,我爲什麼不能鏈條後gulp.src
回報管道?
gulp.task('css', function() {
return gulp.src('css/**.css')
.pipe(autoprefixer('last 10 version'))
.pipe(concatCss('main.css'));
// .pipe(minifycss())
// .pipe(gulp.dest('build/css'));
});
gulp.task('js', ...
return gulp.src(['./js/**/*.js'])
.pipe(
... // Huge function that I don't want to duplicate
});
gulp.task('build-prod', function() {
gulp.run('css')
.pipe(minifycss())
.pipe(gulp.dest('build/css'));
gulp.run('scripts')
.pipe(minifyjs())
.pipe(gulp.dest('build/js'));
});
gulp.task('build-dev', function() {
gulp.run('css')
.pipe(gulp.dest('build/css'));
gulp.run('scripts')
.pipe(gulp.dest('build/js'));
});