在用gulp打包任务时,有时候需要按顺序逐个执行,这时候就需要用到gulp-sequence这个插件了。
用法:
const gulp = require('gulp'),
gulpSequence = require('gulp-sequence'),
tiny = require('gulp-tinypng-nokey'),
clean = require('gulp-clean'),
//打包开始
gulp.task('tsStart', function () {
console.log('--------开始打包!----------');
});
gulp.task('offStart', function () {
console.log('--------打包结束!----------');
});
//复制文件
gulp.task('copyFile', function () {
return gulp.src(['dist/**'])
.pipe(gulp.dest('dist1/'))
});
//图片压缩
gulp.task('tinyPng', ['copyFile'], function () {
return gulp.src(['dist1/images/*.{jpg,png,jpeg}'])
.pipe(tiny())
.pipe(gulp.dest('dist1/images'))
});
//删除临时文件夹
gulp.task('tsCleanFiles', ['tsReleasePackage'], function () {
return gulp.src(['dist1'])
.pipe(clean());
});
第一:'tsStart'先执行,此时输出:'--------开始打包!----------'
第二:['copyFile','tinyPng']并列执行,中括 '[]' 表示并列执行的任务
第三:'tsCleanFiles'执行
第四:'offStart'最后执行,此时输出:'--------打包结束!----------'
gulp.task('tsRun', gulpSequence('tsStart', ['copyFile','tinyPng'],'tsCleanFiles','offStart'));