我想在流中执行所有操作,但是从多个来源然后在最后部署所有操作,如何在同一任务中或通过组合任务在gulp中执行此操作?
例如:
return gulp.src('/dir1/*.js')
.pipe(..)
.pipe(..)
.gulp.src('/dir2/*.css')
.pipe(gif('some-particular-file.css', xxx))
.pipe(gulp.dest(''));
还让我补充一点,我不想像这样过滤:
gulp.src(['/dir1/*.js', '/dir2/*.css'])
.pipe(gif(*.js, xxx)
.pipe(gif(*.css, xxx)
.gulp.dest('appy'));
答案 0 :(得分:1)
您可以使用merge-stream
gulp.task('test', function() {
var bootstrap = gulp.src('bootstrap/js/*.js')
.pipe(gulp.dest('public/bootstrap'));
var jquery = gulp.src('jquery.cookie/jquery.cookie.js')
.pipe(gulp.dest('public/jquery'));
return merge(bootstrap, jquery);
});
答案 1 :(得分:1)
gulp 3.x
使用gulp-add-src
包:
var addSrc = require('gulp-add-src');
return gulp.src('/dir1/*.js')
.pipe(..)
.pipe(..)
.pipe(addSrc('/dir2/*.css'))
.pipe(gif('some-particular-file.css', xxx))
.pipe(gulp.dest(''));
gulp 4.x
使用passthrough
option gulp.src()
可以充当直通流:
return gulp.src('/dir1/*.js')
.pipe(..)
.pipe(..)
.pipe(gulp.src('/dir2/*.css', {passthrough:true}))
.pipe(gif('some-particular-file.css', xxx))
.pipe(gulp.dest(''));