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 相关文章推荐
Js中的onblur和onfocus事件应用介绍
Aug 27 Javascript
Javascript基础教程之JavaScript语法
Jan 18 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
基于jquery实现省市联动特效
Dec 17 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
Nov 04 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
微信小程序webview实现长按点击识别二维码功能示例
Jan 24 Javascript
微信小程序绘制图片发送朋友圈
Jul 25 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
Jul 28 Javascript
在webstorm中配置less的方法详解
Sep 25 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
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
php封装的验证码类分享
2017/02/26 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
python中base64加密解密方法实例分析
2015/05/16 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
Python Web版语音合成实例详解
2019/07/16 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
装修致歉信
2014/01/15 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
保险专业求职信
2014/07/07 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
飞越疯人院观后感
2015/06/09 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
Spring整合Mybatis的全过程
2021/06/28 Java/Android