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 相关文章推荐
10个实用的脚本代码工具
May 04 Javascript
JQuery入门—编写一个简单的JQuery应用案例
Jan 03 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
jQuery中选择器小问题(新人难免遇到)
Mar 31 Javascript
浅谈jQuery中replace()方法
May 13 Javascript
JavaScript中的原型prototype完全解析
May 10 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
vue 纯js监听滚动条到底部的实例讲解
Sep 03 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
vue实现图片上传功能
May 28 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python如何把字符串类型list转换成list
2020/02/18 Python
flask开启多线程的具体方法
2020/08/02 Python
电子商务专业推荐信范文
2013/12/02 职场文书
战略合作协议书范本
2014/04/18 职场文书
感恩教育月活动总结
2014/07/07 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
公司授权委托书样本
2014/09/15 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
学校隐患排查制度
2015/08/05 职场文书
党员读书活动心得体会
2016/01/14 职场文书
四则混合运算教学反思
2016/02/23 职场文书
Python django中如何使用restful框架
2021/06/23 Python
JavaScript组合继承详解
2021/11/07 Javascript
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
如何使用python包中的sched事件调度器
2022/04/30 Python
MYSQL如何查看操作日志详解
2022/05/30 MySQL