'In Gulp 4 should I now use .series() instead of .pipe()?
In gulp version 4 should I now use series()
instead of pipe()
? For example; my v3 task is below, should I change it to the last bit of code I've pasted? Is that the new gulp v4 way of doing things?
gulp.task('mytask', function() {
return gulp.src([
'scripts/a.js',
'scripts/b.js',
'scripts/c.js',
])
.pipe(concat('all.js'))
.pipe(gulp.dest('./scripts'))
.pipe(rename('all.min.js'))
.pipe(uglify())
.pipe(gulp.dest('./scripts'));
});
New v4 way???
gulp.task('mytask', function() {
return gulp.src([
'scripts/a.js',
'scripts/b.js',
'scripts/c.js',
])
.series(
concat('all.js'),
gulp.dest('./scripts'),
rename('all.min.js'),
uglify(),
gulp.dest('./scripts')
);
});
Solution 1:[1]
In Gulp 4, series
is used to run multiple tasks one after another, whereas pipe
is used to transform a stream within a single task.
So you would change your task code to look like the following. The updated code returns a stream made with src
and pipe
d through some transformations.
exports.mytask = function() {
return gulp.src([
'scripts/a.js',
'scripts/b.js',
'scripts/c.js',
])
.pipe(concat('all.js'))
.pipe(gulp.dest('./scripts'))
.pipe(rename('all.min.js'))
.pipe(uglify())
.pipe(gulp.dest('./scripts'));
});
There are various ways you can make functions that are tasks. See the docs here for more information.
Once you've got several tasks created you can compose them with series
or parallel
. See here for more information on composing multiple tasks together.
exports.mytask1 = ...
exports.mytask2 = ...
exports.alltasks = gulp.series(
mytask1,
mytask2
);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |