I have a common pattern in my gulpfile.js
:
var rev = require('gulp-rev');
var buffer = require('gulp-buffer');
gulp.src.some_stuff
.pipe(anotherStuff)
.pipe(buffer()) // this line & 4 lines down
.pipe(rev())
.pipe(gulp.dest(options.dest))
.pipe(rev.manifest({ path: 'manifest.json', merge: true }))
.pipe(gulp.dest(options.dest)) // to this
.pipe(extrastuff)
I want to compose these 5 lines to reuse them in my project over a couple of gulp tasks. How can I do that?
I found multipipe package but it doesn't support passing variables to new pipes (you can see I need to pass options.dest
in my new pipe).
Use lazypipe
:
var lazypipe = require('lazypipe');
function something(dest) {
return (lazypipe()
.pipe(buffer)
.pipe(rev)
.pipe(gulp.dest, dest)
.pipe(rev.manifest, { path: 'manifest.json', merge: true })
.pipe(gulp.dest, dest))();
}
gulp.src.some_stuff
.pipe(anotherStuff)
.pipe(something(options.dest))
.pipe(extrastuff)
来源:https://stackoverflow.com/questions/36371628/how-to-compose-sequence-of-pipes-for-gulp