美文网首页
vue项目更新后文件存在缓存,需要强制刷新才能呈现更新

vue项目更新后文件存在缓存,需要强制刷新才能呈现更新

作者: 老毕姥爷 | 来源:发表于2024-12-17 14:41 被阅读0次

vue项目每次发布新版本后,测试人员都要强制刷新才能更新浏览器代码来验证bug。对于用户来说,这更不合理。于是,想办法让浏览器自动更新文件。
1.在static静态目录下新建version.json每次发版更改里面的版本号

{
    "version": "1.0.1"
}

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

import axios from 'axios'
 
const isNewVersion = () => {
  let url = `//${window.location.host}/static/version.json?t=${new Date().getTime()}`;
  axios.get(url).then(res => {
    if (res.status === 200) {
      let vueVersion = res.data.version;
      let localVueVersion = localStorage.getItem('vueVersion');
      if (localVueVersion && localVueVersion != vueVersion) {
        localStorage.setItem('vueVersion', vueVersion);
        window.location.reload();
        return;
      } else {
        localStorage.setItem('vueVersion', vueVersion);
      }
    }
  });
}
 
export default {
  isNewVersion
}


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

import versionTood from '@/libs/versionUpdate'
 
router.beforeEach(( to, from, next ) => {
  //判断当前代码版本是否与服务器中代码版本一致,如不一致则刷新页面获取最新
  versionTood.isNewVersion();


相关文章

  • Vue不能热更新的原因

    近来实施vue项目,遇到修改.vue文件后不能热更新的问题,并且一定要重新npm run dev后才能更新,非常影...

  • 网站更新之后的缓存问题

    网站迭代更新之后,每次进入页面查看修改内容,都需要强制刷新,这是因为浏览器自带的缓存问题,让运维在更新文件的时候,...

  • web react webpack 发布新版本后不用用户强制刷新

    解决 react webpack 每次发布新版本后需要用户手动强制刷新,来更新缓存的问题 本节主要说明下使用has...

  • 批量替换文本

    批量替换文本 用途 浏览器会缓存js文件,如果只更新js文件时,需要浏览器清除缓存才会获取更新后的文件,所以需要在...

  • this.$forceUpdate

    vue强制更新this.$forceUpdate() 调用强制更新方法this.$forceUpdate()会更新...

  • 解决index.html缓存问题

    解决index.html缓存问题 一般项目发版后前端静态文件会有缓存问题, 不强制刷新很难解决, 但是用户不会去强...

  • vue构建的H5项目文件缓存引发部分机型白屏问题

    vue项目打包后,在非首次线上更新项目时,某些老用户浏览器/微信浏览器在项目更新后首次打开页面,由于用户缓存了之前...

  • React起步02-工具安装

    首先,项目打开,稍作修改App.js文件,文件被修改后,可以刷新页面查看最新效果。 需要重新生成更新操作如下: [...

  • nginx缓存

    缓存策略 对于不经常更新的静态文件,建议缓存时间设置为1个月以上 对于经常需要更新并且更新频繁的静态文件,可以将缓...

  • vue 数据刷新后,页面没有联动更新

    vue 数据刷新后,页面没有联动更新 因为vue有个就近原则,只会刷新部分内容而不更新整体,这时可以给容器加一个k...

网友评论

      本文标题:vue项目更新后文件存在缓存,需要强制刷新才能呈现更新

      本文链接:https://www.haomeiwen.com/subject/mlulejtx.html