var gulp = require('gulp'),
// 合并文件,减少网络请求
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
clean = require('gulp-clean'),
// 利用该模块可以实现任务按顺序依次执行
runSequence = require('run-sequence'),
rev = require('gulp-rev'),
revCollector = require('gulp-rev-collector'),
basePath = './dist/js',
jsonPath = './dist/json';
gulp.task('build', function(callback) {
runSequence('clean', 'build-scripts', 'rev', callback);
});
gulp.task("clean", function(){
return gulp.src('./dist')
.pipe(clean());
});
gulp.task('build-scripts', function() {
return gulp.src(['./src/js/lib/jquery-ui.min.js',
'./src/js/lib/jquery-ui-timepicker-addon.min.js',
'./src/js/lib/jquery.scrollbar.min.js'])
.pipe(concat('plugins.js'))
.pipe(rev())
.pipe(uglify()) //压缩
.pipe(gulp.dest(basePath))
.pipe(rev.manifest()) //生成rev-mainfest.json文件作为记录
.pipe(gulp.dest(jsonPath));
});
gulp.task('rev', function () {
return gulp.src([`${jsonPath}/*.json`, './dist/**/*.html'])
.pipe( revCollector({
replaceReved: true
}) )
.pipe( gulp.dest('./dist') );
});