第一步,安装所需的包,用npm安装,如下:

npm install gulp gulp-rev run-sequence gulp-rev-collector --save-dev

第二步,在gulpfile.js文件中写上配置:

//引入gulp和gulp插件

var gulp = require('gulp'),

runSequence = require('run-sequence'),

rev = require('gulp-rev'),

revCollector = require('gulp-rev-collector');

//定义css、js源文件路径

var cssSrc = './app/static/css/*.css',

jsSrc = './app/static/js/admin/*.js';

//CSS生成文件hash编码并生成 rev-manifest.json文件名对照映射

gulp.task('revCss', function(){

return gulp.src(cssSrc)

.pipe(rev())

.pipe(gulp.dest('./rev/css'))

.pipe(rev.manifest())

.pipe(gulp.dest('./rev/css'));

});

//js生成文件hash编码并生成 rev-manifest.json文件名对照映射

gulp.task('revJs', function(){

return gulp.src(jsSrc)

.pipe(rev()) //给文件添加hash编码

.pipe(gulp.dest('./rev/js/admin'))

.pipe(rev.manifest()) //生成rev-mainfest.json文件作为记录

.pipe(gulp.dest('./rev/js'));

});

//Html替换css、js文件版本

gulp.task('revHtmlCss', function () {

return gulp.src(['./rev/css/*.json', './app/index.html'])

.pipe(revCollector()) //替换html中对应的记录

.pipe(gulp.dest('./View')); //输出到该文件夹中

});

gulp.task('revHtmlJs', function () {

return gulp.src(['./rev/js/*.json', './View/index.html'])

.pipe(revCollector())

.pipe(gulp.dest('./View'));

});

//开发构建

gulp.task('dev', function (done) {

condition = false;

//依次顺序执行

runSequence(

['revCss'],

['revHtmlCss'],

['revJs'],

['revHtmlJs'],

done);

});

第三步,打开cmd,切换到项目所在的目录,运行

gulp dev

ok,完工!!!

gulp html 缓存,gulp 给静态资源文件添加hash(md5)后缀 防止缓存相关推荐

  1. chrome浏览器加载css、js等静态资源文件的坑

    2019独角兽企业重金招聘Python工程师标准>>> 注意一点:在开发过程发现chrome加载的静态资源文件不是最新,则手工清除缓存和cooike再次刷新就可以了.原因是chrom ...

  2. golang打包HTML为Android,使用Go开发Web服务,并打包html/js/css等静态资源文件

    Go的高性能,使它天生适合开发io方面的服务,Web服务当然不再话下.同时,Go编译后生成的单文件不是字节码,而是对应平台的机器码,因此它效率更高.资源占用更低. 为了更好的进程程序管理,移动程序时更 ...

  3. python3读取网页_python3+selenium获取页面加载的所有静态资源文件链接操作

    软件版本: python 3.7.2 selenium 3.141.0 pycharm 2018.3.5 具体实现流程如下,废话不多说,直接上代码: from selenium import webd ...

  4. vue-cli项目布署问题解决:空白页、静态资源文件404错误、refrenceError:promise未定义(部分浏览器不支持ES6语法)

    (前言:文章记录vue-cli项目打包使用IIS布署遇到的几个错误及解决方式) 首先简单理解webpack打包: 个人理解:项目开发中我们构建 "低耦合高内聚" 的组件/模块来代码 ...

  5. Golang实践录:静态资源文件整合:web服务

    趁着五一放假,趁着有时间,把欠的一些技术集中研究研究,写写文章,好给自己一个交待. 本文研究静态资源文件的在 web 服务器的整合. 基础 Golang 中的 web 服务框架有很多种,本文选取 gi ...

  6. Golang实践录:静态资源文件整合:初步使用

    趁着五一放假,趁着有时间,把欠的一些技术集中研究研究,写写文章,好给自己一个交待. 本文介绍如何在 Golang 中整合静态资源文件,将静态资源文件编译到二进制可执行文件中,这与其它程序的打包可能是一 ...

  7. 在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案

    在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 参考文章: (1)在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 (2)https: ...

  8. SpringBoot2.x 同个文件的加载顺序,静态资源文件

    Spring Boot 默认会挨个从 META/resources > resources > static > public 里面找是否存在相应的资源,如果有则直接返回. 默认配置 ...

  9. springboot中添加静态资源的方式,默认的静态资源文件夹有哪些

    通过webjar的方式引入静态资源 访问popular webjar网站,里面有大量的最常用的静态资源webjar,以jar包的形式导入静态资源.类如jquery.vue.bootstrap等,都可以 ...

最新文章

  1. linux diff 补丁文件夹,LINUX下制作补丁文件 diff,patch
  2. 程序员因中年危机从北京回老家事业单位:工资从60万爆降到6万
  3. SVR4/4.3BSD与Linux对待伪终端的不同方式
  4. go语言中map的使用
  5. Arduino--IIC详解
  6. 【ArcGIS风暴】何为动态投影?这次全面为您揭开ArcGIS中动态投影的神秘面纱!
  7. html 文字悬停翻转,html5+TweenMax.js鼠标悬停文字翻转动画特效
  8. 开了立体声混音仍然不能内录_蓝牙音箱有个功能很鸡肋,用好了秒变HIFI立体声...
  9. 小学校园计算机兴趣小组,小学计算机兴趣小组活动记录文本.doc
  10. 更改swing应用程序标题栏默认图标
  11. c#开发Mongo笔记第九篇
  12. autocoder自动代码生成器_Spring Boot 集成MyBatis Plus代码生成器
  13. Linux命令行手动配置无线wiff网络 iwconfig
  14. 达梦数据库可视化工具的使用
  15. XILINX VIVADO2018.2官方下载全教程记录.
  16. PcShare2007 暗桩
  17. 组态王图素制作_组态王教程 很实用
  18. 计算机word文档技巧,Word文档操作技巧:同时打开多个文档3种方法-word技巧-电脑技巧收藏家...
  19. nbu新增media server过程简介
  20. C++类内初始值的初始化形式

热门文章

  1. JS 获取元素当前的样式信息
  2. 让你每天精神都好好的方法ZT 1
  3. 人生长途,感受着不断拼搏...
  4. 【impala学习之一】impala
  5. HDU - 2091 空心三角形 水题,但是有点坑...
  6. 清除stoped impdp/expdp job的方法
  7. android 简易时间轴(实质是ListView)
  8. jquery 设置 select 默认值方法
  9. Java练习 SDUT-3338_计算各种图形的周长(接口与多态)
  10. 日志服务(原SLS)新功能发布(4)-- 使用OSS进行日志存储与分析