位置: IT常识 - 正文

Vue项目线上发布,都有缓存不生效怎么办?(vue项目上线教程)

编辑:rootadmin
Vue项目线上发布,都有缓存不生效怎么办?

推荐整理分享Vue项目线上发布,都有缓存不生效怎么办?(vue项目上线教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue怎么发布上线,vue怎么发布上线,vue项目怎么发布到服务器,vue项目上线教程,vue项目上线教程,vue发布app,vue 项目发布,vue项目线上部署,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:

每次把修改后的vue项目build构建的打包文件丢到线上服务器后,发现还是上一次的效果,新修改的不起效,每次都需要ctrl+F5强制刷新页面,用户太多不可能让所有人每次都这样去折腾,为啥?

vue cli不是给静态资源css、js、img自动加了哈希么,怎么还会有缓存?

经过多方调试,发现是因为入口文件index.html需要在服务器端设置禁止缓存。

Vue项目线上发布,都有缓存不生效怎么办?(vue项目上线教程)

解决缓存问题可以分两步走:

①nginx配置index不缓存

②代码加入版本更新检测强制刷新

解决方案一:(Linux服务器设置nginx禁用html缓存) 

只配置了不缓存html和htm,js,css等文件没有做处理,是因为我们前端编译发布代码时,如果某个js或css有更新,会自动在文件名上加时间戳、哈希值,这样一发新版时,只要客户端请求了新版的html,就会自动找到新的js、css,没有更新的js、css还会继续用缓存,这样既不会太大的影响网页的访问速度,也能保证更新的代码不走缓存。

禁止index.html

server { listen 80; server_name test.exmaple.cn; location / { if ($request_filename ~* .*\.(?:htm|html)$) ## 配置页面不缓存html和htm结尾的文件 { add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate"; } root /web/; index index.html; try_files $uri $uri/ /index.html =404; }}

暴力禁止所有静态资源缓存

location ~.*\.(js|css|html|png|jpg)${ add_header Cache-Control no-cache;} 解决方案二:(Vue-cli代码控制)

1.在public静态目录下新建version.json每次发版更改里面的版本号 

{ "version": "0.0.1"}

2.在src中新建 libs/versionUpdate.js文件

import axios from 'axios'const isNewVersion = () => { let url = `//${window.location.host}/version.json?t=${new Date().getTime()}` axios.get(url).then(res => { if (res.status === 200) { let vueVersion = res.data.version || '1.0.0' let localVueVersion = localStorage.getItem('vueVersion') localStorage.setItem('vueVersion', vueVersion) if (localVueVersion && localVueVersion != vueVersion) { alert('检测到新版本,请点击确认刷新页面哦') window.location.reload(true) return } } })}export default { isNewVersion}

3.在全局路由拦截中写,只要每次版本号不同就重新加载页面配合第一步就可以清楚浏览器缓存

import versionTood from '@/libs/versionUpdate'router.beforeEach(( to, from, next ) => { //判断当前代码版本是否与服务器中代码版本一致,如不一致则刷新页面获取最新 versionTood.isNewVersion();}
本文链接地址:https://www.jiuchutong.com/zhishi/287165.html 转载请保留说明!

上一篇:马尔堡峡湾鸟瞰图,新西兰 (© Mathias Ortmann/Getty Images)(马尔堡酒庄)

下一篇:vue集成海康h5player实现播放(h5调用海康摄像头)

  • 娱乐行业缴纳的税收
  • 个人名义开工程发票税率是多少
  • 收取境外技术服务费如何
  • 实收资本在利润表中怎么体现出来
  • 简易征收增值税怎么做账
  • 装载机属于哪种车型
  • 建筑企业收到招聘短信
  • 分月计提利息会计分录
  • 社保多交了一份怎么办
  • 产品质量问题怎么处罚
  • 支付保险费发票怎么入账
  • 单位购买小汽车一次性进成本报表怎么填写?
  • 小微企业季度所得税和企业所得税怎么处理
  • 自己公司开发票有什么好处
  • 连年亏损的企业因为具有递延税金的优势
  • 个税免税收入填错了怎么办
  • 分摊的水费应取得何种扣除凭证
  • 公益性捐赠的个税
  • 税控系统服务费怎么抵扣
  • windows11蓝牙不能用
  • 商铺水费收取标准2020
  • 电子商务公司的简介
  • 收到的投资属于什么科目
  • 工商年报的纳税总额怎么查询
  • 写一段简单的自我介绍
  • php array数组
  • msoicons.exe是什么文件
  • 怎么安装vue环境
  • thinkphp教程
  • 公司收到社保局的提醒函怎么办
  • gpio口是什么意思?
  • 物流辅助服务费计入什么科目
  • gpt 中文
  • 其他收益在资产负债表哪点
  • layui 使用
  • springboot -d
  • 财政贴息会计处理怎么理解
  • 企业亏损企业汇算清缴怎么处理
  • BootStrap--selectpicker的使用
  • 管理费用二级科目明细可以自己设置吗
  • 应交税费应交增值税明细账图
  • 受疫情影响较大的上市公司有哪些
  • 补缴以前年度的增值税以及附加税,还有罚款的账务处理
  • 半成品会计处理流程
  • 营业外支出的性质
  • 工程与会计
  • 旅游费的发票可以进成本吗?
  • 收到的赔款罚款怎么做账
  • 年底所得税的会计分录
  • 企业会计准则基本准则
  • win10系统环境设置
  • win7系统软件安装就闪退怎么办
  • mac在哪设置
  • 深入理解linux内核架构
  • linux的安装
  • 如何提升windows版本
  • win7怎样安装adb工具
  • [置顶]公主大人接下来是拷问时间31
  • windows下用CMD调用COM口
  • nodejs前后端数据交互
  • 右键隐藏在哪
  • 最常见的左向右分流型心脏病是
  • vue中使用jsx
  • unity3d摄像机视角
  • APP中javascript+css3实现下拉刷新效果
  • js实现ping一个ip地址
  • 供电局发票是什么样子的
  • 3.5车船税2400还是3000
  • 国家纳税查询系统
  • 高新区地税办税服务厅
  • 房屋维修基金会计分录处理
  • 养老机构范畴
  • 税的几个点是什么意思
  • 陕西税务干部学校副教授李刚简历
  • 中国税务报订阅电话
  • 江苏电子税务电子发票怎么作废
  • 大连国家税务局官网
  • 改革的财税制度是什么
  • 记账凭证编制的依据可以用
  • 残疾人个体工商户补贴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设