位置: 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调用海康摄像头)

  • 尾巴有再生功能的动物有什么(尾巴有再生功能的动物有哪些)(尾巴有再生功能的有哪些)

    尾巴有再生功能的动物有什么(尾巴有再生功能的动物有哪些)(尾巴有再生功能的有哪些)

  • iphone13pro怎么一键锁屏(iphone13pro怎么一键清空相册)

    iphone13pro怎么一键锁屏(iphone13pro怎么一键清空相册)

  • 微信开通商家收款码提现要手续费吗(微信开通商家收款码需要营业执照吗)

    微信开通商家收款码提现要手续费吗(微信开通商家收款码需要营业执照吗)

  • iphone11键盘震动怎么开(苹果11键盘怎么有震动感)

    iphone11键盘震动怎么开(苹果11键盘怎么有震动感)

  • 运动控制卡和plc区别(运动控制卡和plc哪个便宜)

    运动控制卡和plc区别(运动控制卡和plc哪个便宜)

  • 电脑的下面一栏点不了是为什么(电脑的下面一栏不见了)

    电脑的下面一栏点不了是为什么(电脑的下面一栏不见了)

  • exchange服务器是什么(exchange服务器端口)

    exchange服务器是什么(exchange服务器端口)

  • 微信视频没提示声音是怎么回事(华为手机别人发微信视频没提示)

    微信视频没提示声音是怎么回事(华为手机别人发微信视频没提示)

  • oppor11怎么打开飞行模式(oppor11手机怎么打开悬浮窗)

    oppor11怎么打开飞行模式(oppor11手机怎么打开悬浮窗)

  • 微信收取中一直转圈圈(微信收取一直转)

    微信收取中一直转圈圈(微信收取一直转)

  • guid和mbr格式有什么区别(guid和mbr格式有什么区别 uefi)

    guid和mbr格式有什么区别(guid和mbr格式有什么区别 uefi)

  • 移动pin码初始密码是多少(移动pin初始密码是多少)

    移动pin码初始密码是多少(移动pin初始密码是多少)

  • ipad第六代是哪一个型号(ipad第六代叫啥)

    ipad第六代是哪一个型号(ipad第六代叫啥)

  • 红米手机开不开机怎么回事(红米手机开不开机怎么办?自己如何修理?)

    红米手机开不开机怎么回事(红米手机开不开机怎么办?自己如何修理?)

  • 怎样在拼多多取消订单(怎样在拼多多取消免密支付功能)

    怎样在拼多多取消订单(怎样在拼多多取消免密支付功能)

  • 荣耀9x和9xpro参数对比

    荣耀9x和9xpro参数对比

  • 苹果8pdock栏设置透明(iphone8dock栏)

    苹果8pdock栏设置透明(iphone8dock栏)

  • 荣耀20pro怎么退出程序(荣耀20pro怎么退出talkback)

    荣耀20pro怎么退出程序(荣耀20pro怎么退出talkback)

  • 唯品会怎么切换省份(唯品会怎么切换男女)

    唯品会怎么切换省份(唯品会怎么切换男女)

  • ACS.exe是什么进程?ACS.exe相关内容详细介绍(acs_log是什么文件)

    ACS.exe是什么进程?ACS.exe相关内容详细介绍(acs_log是什么文件)

  • 大叶绣球花上的一对日本树蛙,日本滋贺 (© Mitsuhiko Imamori/Minden)(绣球花的叶子出现了斑点,这是怎么了?)

    大叶绣球花上的一对日本树蛙,日本滋贺 (© Mitsuhiko Imamori/Minden)(绣球花的叶子出现了斑点,这是怎么了?)

  • 帝国cms备份王怎么使用(帝国cms目录)

    帝国cms备份王怎么使用(帝国cms目录)

  • 哪些情况可免征增值税
  • 公司换股东需要本人去吗
  • 房产证,契税
  • 车船税是什么意思图片
  • 开承兑汇票的条件 费用
  • 残保金滞纳金能抵扣吗
  • 去年滞纳金没入营业外今天怎么账务处理
  • 核定征收变更查账征收利润怎么办
  • 旅游业一般纳税人
  • 产品没货怎么给客户解释
  • 房地产企业契税税率是多少
  • 已计提的固定资产减值准备累计金额
  • 营改增后转让土地使用权增值税
  • 预付的固定资产没有收到发票怎么入账
  • 当月采购发票未到如何做账及结转成本?
  • 加税点开专票合适吗
  • 投资理财产品的优势和劣势
  • 个体工商户库存商品入账
  • 小规模纳税人的好处
  • 固定资产机器设备使用年限
  • 税务师几年内考完几门
  • 电商确认收货
  • 购买银行承兑汇票的会计分录
  • 工程合同外购设备怎么开票
  • 社保显示已申报,但缴不了款
  • 来料加工原材料计入什么科目
  • 保护电脑安全的主要方式
  • 华硕笔记本电脑售后维修服务网点
  • 无线电路问题
  • 公司支出的消防费用
  • 如何用腾讯电脑管家回复格式化U盘
  • 企业并购的基本方法有
  • 京东最贵的商品排行
  • 非居民企业股权转让特殊性税务处理
  • react hook详解
  • php实现分页显示
  • 负债大于资产能贷款吗
  • topas命令详解
  • 应收账款保理会计处理相关会计准则
  • phpcms使用教程
  • 纳税申报表上的销售额是不含税的吗
  • 通用发票如何缴销
  • 工伤在门诊的收据能报销吗
  • 交强险和车船税在哪里买
  • 以前年度损益调整怎么做账
  • 银行承兑汇票到期日后多久可以承兑
  • 应交税费期末余额在借方怎样处理
  • 电脑配件入账
  • 公司是生产企业现在要开出租赁的发票可以开吗
  • 预付工程款预算会计怎么做账
  • 提供劳务结转的成本计入什么科目
  • 进项税包含
  • 非限定性净资产 限定性净资产
  • 企业会计准则季度利润表本期数
  • 账务调整的原则
  • 发票抬头是个人税号怎么填
  • 购买新发票的时候要带旧发票去吗?
  • 月底计提工资的会计处理
  • 企业为什么要设置仓库
  • 什么是记账凭证?有哪些分类
  • sql2005 create file遇到操作系统错误5拒绝访问 错误1802
  • pe工具箱怎么用
  • Linux下SSH Session复制功能实现方法
  • win7怎样关闭ie浏览器
  • shell32.exe - shell32是什么进程 有什么用
  • linux各种重定向及其含义
  • win10系统无法安装到gpt分区
  • linux系统查询进程
  • jQuery Mobile 和 Kendo UI 的比较
  • Android游戏开发pdf
  • 正则批量匹配
  • angularjs1.5
  • js全选和全不选效果复选框
  • python接口编写
  • 初步了解的英文
  • JavaScript中的复杂数据类型又称为
  • jquery中遍历指定的对象和数组是哪个方法
  • 税务所是县级机构吗
  • 西乡塘区税务局电话
  • 独立的法人企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设