gulp 静态文件加版本号

5 篇文章 0 订阅
cnpm install --save-dev gulp
cnpm install --save-dev gulp-rev
cnpm install --save-dev gulp-rev-collector
cnpm install --save-dev run-sequence

//引入gulp和gulp插件  
var gulp = require('gulp'),  
    runSequence = require('run-sequence'),  
    rev = require('gulp-rev'),  
    revCollector = require('gulp-rev-collector');  
  
//定义css、js源文件路径  
var cssSrc = 'src/main/webapp/**/*.css',  //src下的所有css文件  
    jsSrc = 'src/main/webapp/**/*.js';  //src下的所有js文件  
  


 
  
//CSS生成文件hash编码并生成 rev-manifest.json文件名对照映射  
gulp.task('revCss', function(){  
    return gulp.src(cssSrc)  
        .pipe(rev())  
        .pipe(rev.manifest())  
        .pipe(gulp.dest('rev/css'));  
});  
  
  
//js生成文件hash编码并生成 rev-manifest.json文件名对照映射  
gulp.task('revJs', function(){  
    return gulp.src(jsSrc)  
        .pipe(rev())  
        .pipe(rev.manifest())  
        .pipe(gulp.dest('rev/js'));  
});  
  
  
//Html替换css、js文件版本  
gulp.task('revHtml', function () {  
    return gulp.src(['rev/**/*.json', 'src/main/webapp/**/*.html'])  
        .pipe(revCollector({
         replaceReved: true
		 }))  
        .pipe(gulp.dest('src/main/webapp'));  
}); 
//Html替换css、js文件版本  
gulp.task('revJsp', function () {  
    return gulp.src(['rev/**/*.json', 'src/main/webapp/**/*.jsp'])  
        .pipe(revCollector({
         replaceReved: true
		 }))  
        .pipe(gulp.dest('src/main/webapp'));  
}); 
  
  
//开发构建  
gulp.task('dev', function (done) {  
    condition = false;  
    runSequence(  
        ['revCss'],  
        ['revJs'],  
        ['revHtml'],  
		['revJsp'],
        done);  
});  
  

  
gulp.task('default', ['dev']);  

打开node_modules\gulp-rev\index.js第135

//manifest[originalFile] = revisionedFile;

manifest[originalFile] = revisionedFile + '?v=' + file.revHash;


node_modules\gulp-rev-collector\index.js

147行 regexp: new RegExp( '([\/\\\\\'"])' + pattern, 'g' ),

替换为  regexp: new RegExp( dirRule.dirRX + pattern+'(\\?v=\\w{10,})?', 'g' ),  


172行 regexp: new RegExp( '([\/\\\\\'"])' + pattern, 'g' ),

替换为  regexp: new RegExp( prefixDelim + pattern+'(\\?v=\\w{10,})?', 'g' ),  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值