您现在的位置:首页 >> 前端 >> 内容

gulp的运用之给文件打上md5 -hash码 防止缓存

时间:2017/12/2 11:22:43 点击:

  核心提示:目标:给文件打上md5 -hash码 防止缓存var gulp = require(gulp);var runSequence = require(run-sequence);var del = re...

目标:给文件打上md5 -hash码 防止缓存

var gulp = require('gulp');
var runSequence = require('run-sequence');
var del = require('del')
// var concat = require('gulp-concat');                            //- 多个文件合并为一个;
// var minifyCss = require('gulp-minify-css');                     //- 压缩CSS为一行;
var rev = require('gulp-rev');                                  //- 对文件名加MD5后缀
var revCollector = require('gulp-rev-collector');               //- 路径替换
gulp.task('revCss', function() {                                //- 创建一个名为 concat 的 task
    return gulp.src('./targetFile/ceshi.css')    //- 需要处理的css文件,放到一个字符串数组里
        // .pipe(concat('wap.min.css'))                            //- 合并后的文件名
        // .pipe(minifyCss())                                      //- 压缩处理成一行
        .pipe(rev())                                            //- 文件名加MD5后缀
        .pipe(gulp.dest('./dist'))                              //- 输出文件本地
        .pipe(rev.manifest())                                   //- 生成一个rev-manifest.json
        .pipe(gulp.dest('./rev/css'));                              //- 将 rev-manifest.json 保存到 rev 目录内
});
gulp.task('revHtml', function() {
    return gulp.src(['./rev/css/*.json', './targetFile/*.html'])   //- 读取 rev-manifest.json 文件以及需要进行css名替换的文件
        .pipe(revCollector())                                   //- 执行文件内css名的替换
        .pipe(gulp.dest('./dist/'));                     //- 替换后的文件输出的目录
});
gulp.task('clean', function(cb) {
    return del(['./dist/*'], cb)
});
// md5版本控制
gulp.task('md5', function (done) {
    condition = false;
    runSequence(
        ['clean'],
        ['revCss'],
        ['revHtml'],
        done
    );
});

// gulp.task('default', ['revHtml', 'revCss']);
gulp.task('default', ['md5']);

Tags:GU UL LP P的 
作者:网络 来源:前端工程师