gulp 给静态资源文件添加hash(md5)后缀 防止缓存
来源:互联网 发布:数据库添加数据 编辑:程序博客网 时间:2024/06/09 09:08
一、安装需要的包
npm install gulp gulp-rev run-sequence gulp-rev-collector –save-dev
二、配置gulpfile.js
var gulp = require('gulp'), runSequence = require('run-sequence'), rev = require('gulp-rev'), revCollector = require('gulp-rev-collector'); //CSS生成文件hash编码并生成 rev-manifest.json文件名对照映射 gulp.task('revCss', function(){ return gulp.src('./shalen/css/*.css') .pipe(rev()) .pipe(gulp.dest('./yes/css')) .pipe(rev.manifest()) .pipe(gulp.dest('./yes/css')); }); //js生成文件hash编码并生成 rev-manifest.json文件名对照映射 gulp.task('revJs', function(){ return gulp.src('./shalen/js/*.js') .pipe(rev()) //给文件添加hash编码 .pipe(gulp.dest('./yes/js')) .pipe(rev.manifest()) //生成rev-mainfest.json文件作为记录 .pipe(gulp.dest('./yes/js')); }); //Html替换css、js文件版本 gulp.task('revHtmlCss', function () { return gulp.src(['./yes/css/*.json', './shalen/zhuye.html']) .pipe(revCollector()) //替换html中对应的记录 .pipe(gulp.dest('./yes')); //输出到该文件夹中 }); gulp.task('revHtmlJs', function () { return gulp.src(['./yes/js/*.json', './yes/zhuye.html']) .pipe(revCollector()) .pipe(gulp.dest('./yes')); }); gulp.task('build', function (done) { condition = false; //依次顺序执行 runSequence( ['revCss'], ['revHtmlCss'], ['revJs'], ['revHtmlJs'], done); });
三、修改node_modules下的插件源码
不修改是这样的:
修改插件源码后是这样的:
具体修改步骤:
1.打开node_modules\gulp-rev\index.js
第144行:manifest[originalFile] = revisionedFile;
修改为: manifest[originalFile] = originalFile + ‘?v=’ +file.revHash;2.打开node_modules\rev-path\index.js
第10行:return filename + ‘-’ + hash + ext;
修改为: return filename + ext;3.打开node_modules\gulp-rev-collector\index.js
第40行:let cleanReplacement = path.basename(json[key]).replace(new RegExp( opts.revSuffix ), ” );
修改为: let cleanReplacement = path.basename(json[key]).split(‘?’)[0];
ok,搞定~!
阅读全文
0 0
- gulp 给静态资源文件添加hash(md5)后缀 防止缓存
- gulp 给静态资源文件添加hash(md5)后缀 防止缓存
- gulp下静态资源的合并、压缩、MD5后缀
- gulp改造gulp-rev-append插件实现资源文件链接自动添加MD5版本号
- 利用gulp之gulp-rev-collector给资源文件加时间戳,解决缓存版本控制
- 前端静态资源版本更新与缓存之——通过gulp 在原html文件上自动化添加js、css版本号
- 前端静态资源版本更新与缓存之——通过gulp 在原html文件上自动化添加js、css版本号
- 前端静态资源版本更新与缓存之——通过gulp 在原html文件上自动化添加js、css版本号
- 前端静态资源版本更新与缓存之——通过gulp 在原html文件上自动化添加js、css版本号
- 缓存进阶处理:从不处理到基于gulp的前端静态文件自动添加版本号
- 利用 filter 机制 给 静态资源 url 加上时间戳,来防止js和css文件的缓存,利于开发调试
- gulp自动添加静态文件版本号方案
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 转战gulp,实现前端静态资源的压缩,加MD5戳,替换引用,加CDN前缀
- gulp系列之 静态资源打包压缩合并MD5版本控制
- Linux进阶之 whereis 命令
- hdu1025 Constructing Roads In JGShining's Kingdom
- goLang中的基础类型简单应用
- HDU 2415 树形DP
- ZOJ
- gulp 给静态资源文件添加hash(md5)后缀 防止缓存
- POJ 1269 Intersecting Lines(直线相交判断,求交点)
- 【cc3200】向服务器发送温度数据
- 数据分析(第一天)
- CSS+div
- 英特尔—最大区间
- 今天复习了一下Java基础
- JAVA Spring web mvc 学习 之 4:注解
- numpy中的ndarray与array的区别、不同