vue增加强缓存和版本号的实现方法


Posted in Javascript onMay 01, 2019

强缓存:

到底什么是强缓存?强在哪?其实强是强制的意思。当浏览器去请求某个文件的时候,服务端就在respone header里面对改文件做了缓存配置。缓存的时间、缓存类型都由服务端控制。

vue增加强缓存和版本号的实现方法

强缓存实现:

cache-control: max-age=315360000, public ,immutable

客户端和代理服务器都可以缓存该资源,在315360000秒(10年)的有效期内,如果有请求该资源的需求的话就直接读取缓存,statu code:200 ,即使用户做了刷新操作,也不向服务器发起http请求

参考文章"彻底弄懂强缓存与协商缓存"

index.html文件采用协商缓存,理由就是要用户每次请求index.html不拿浏览器缓存,直接请求服务器,这样就保证资源更新了,切记不要设置强缓存!!!

其他资源采用强缓存 + 协商缓存,理由就不多说了。

nginx配置

vue增加强缓存和版本号的实现方法

版本号管理在

.env.production 生产模式

.env.test 测试模式

VUE_APP_VERSION = T0.01 测试模式
VUE_APP_VERSION = V0.01 生产模式

在package.json配置了打包命令

npm run build   正式环境配V0.01版本号
npm run build:test 测试环境配T0.01版本号

通过webpack打包设置,name+版本号+时间戳.js

可以根据服务器设置强缓存,缓存静态文件

configureWebpack: {
    output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】
      filename: `[name].${process.env.VUE_APP_VERSION}.${timeStamp}.js`,
      chunkFilename: `[name].${process.env.VUE_APP_VERSION}.${timeStamp}.js`,
     },
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
confirm的用法示例用于按钮操作时确定是否执行
Jun 19 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
jquery操作select元素和option的实例代码
Feb 03 Javascript
关于原生js中bind函数的简单实现
Aug 10 Javascript
详解支持Angular 2的表格控件
Jan 19 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
Mar 20 Javascript
基于JSON数据格式详解
Aug 31 Javascript
jQuery plugin animsition使用小结
Sep 14 jQuery
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 Javascript
vue组件化中slot的基本使用方法
May 01 #Javascript
Vue基本使用之对象提供的属性功能
Apr 30 #Javascript
原生JS实现随机点名项目的实例代码
Apr 30 #Javascript
vue实现随机验证码功能的实例代码
Apr 30 #Javascript
详解vue 图片上传功能
Apr 30 #Javascript
vue移动端屏幕适配详解
Apr 30 #Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 #Javascript
You might like
php设计模式之命令模式使用示例
2014/03/02 PHP
php发送与接收流文件的方法
2015/02/11 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
javascript时间函数大全
2014/06/30 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
会计自我鉴定范文
2013/10/06 职场文书
平面设计师的工作职责
2013/11/21 职场文书
房屋转让协议书
2014/04/11 职场文书
法律系毕业生求职信
2014/05/28 职场文书
先进集体申报材料
2014/12/25 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android