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 相关文章推荐
表单填写时用回车代替TAB的实现方法
Oct 09 Javascript
基于jQuery实现的菜单切换效果
Oct 16 Javascript
动态创建按钮的JavaScript代码
Jan 29 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
Mar 22 Javascript
详解webpack打包vue时提取css
May 26 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
微信小程序之圆形进度条实现思路
Feb 22 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
前端天气插件tpwidget使用方法详解
Jun 24 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 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
杏林同学录(六)
2006/10/09 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Python处理文本文件中控制字符的方法
2017/02/07 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
python函数与方法的区别总结
2019/06/23 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
超市营业员求职简历的自我评价
2013/10/17 职场文书
班长岗位职责
2013/11/10 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
酒店厨房管理制度
2015/08/06 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
golang判断key是否在map中的代码
2021/04/24 Golang
vue+iview实现手机号分段输入框
2022/03/25 Vue.js