vue项目版本更新用户页面缓存

1,public目录下新建version文件

2,修改vue.config.js

const { defineConfig } = require('@vue/cli-service')
const timeStamp = new Date().getTime()
module.exports = defineConfig({
  configureWebpack: (config) => {
    if (process.env.NODE_ENV === 'production') {
     
      config.mode = 'production'
      return {
        output: { // 为生产环境修改配置...新增加
          filename: `js/[name].${timeStamp}.js`,
          chunkFilename: `js/chunk.[id].${timeStamp}.js`,
        },
      }
    }
  }
})

3,在恰当的时机,触发版本判断

a, app.vue onMounded
b, router.js router.beforeEach 路由守卫内
c, 其他请求内,比方说想做实时跟新,在某个请求,或者某个请求状态后

4,使用方式

import axios from "axios";
// 请求拿到线上文件数据
axios.get('/version.json')
          .then(res => {
            if (res.status !== 200) {return;}
            let newestVersion = res.data
            let localVersion = localStorage.getItem('version') || '{"version": ""}'
            localVersion = JSON.parse(localVersion)
            localStorage.setItem('version', JSON.stringify(newestVersion)) //先把新的覆盖本地存储
            //判断本地存在 并且与线上不一致 重新加载
            if (localVersion.version && (localVersion.version !== newestVersion.version)) {
              window.location.reload()
            }

          })
          .catch(() => {})
//本凸这里用的axios

如果有不足的 随时指出,本凸看见了就改

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值