当前位置: 首页 > article >正文

【vue】项目迭代部署后 自动清除浏览器缓存

前言: vue项目打包部署上线后,因浏览器缓存问题,导致用户访问的依旧是上个迭代批次的旧资源,需要用户手动清除缓存才能更新至最新版本,影响用户体验。
解决方法:

  1. html根文件添加以下标签
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">
  <meta http-equiv="expires" content="0">
  1. vue.config.js
const timeStamp = new Date().getTime();
module.exports = defineConfig({
    filenameHashing: false, // 打包的时候不使用hash值.因为我们有时间戳来确定项目的唯一性了.
    configureWebpack: {
        output: { // 输出重构 打包编译后的js文件名称,添加时间戳.
            filename: `js/js[name].${timeStamp}.js`,
            chunkFilename: `js/chunk.[id].${timeStamp}.js`,
        }
    },
    css: {
        extract: { // 打包后css文件名称添加时间戳
            filename: `css/[name].${timeStamp}.css`,
            chunkFilename: `css/chunk.[id].${timeStamp}.css`,
        }
    },
})
  1. package.json (注:每次build打包时,需要更改版本号)
"version": "1.0.0",
  1. main.js
const VUE_APP_VERSION = require('../package.json').version;
const vers = window.localStorage.getItem('appVersion');
if(VUE_APP_VERSION != vers){
  localStorage.clear()
  window.localStorage.setItem('appVersion', VUE_APP_VERSION);
  // 清除存储在浏览器的数据
  window.localStorage.removeItem('liveDataSort')
  window.localStorage.removeItem('liveListSort')
  
  location.reload()
}

http://www.kler.cn/a/404582.html

相关文章:

  • JavaWeb-表格标签-06
  • Docker 容器的初始化设置
  • Vue2与Vue3:深入比较与迁移指南
  • 【Golang】协程
  • Matlab实现海鸥优化算法优化随机森林算法模型 (SOA-RF)(附源码)
  • 用java和redis实现考试成绩排行榜
  • NVR接入录像回放平台EasyCVR视频融合平台加油站监控应用场景与实际功能
  • 前端css 实现 背景渐变,边框渐变
  • 常用并发设计模式
  • 如何在 Microsoft Edge 中设置代理: 快速而简单的方法
  • 学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
  • 【图像检测】深度学习与传统算法的区别(识别逻辑、学习能力、泛化能力)
  • JS学习 - 函数与作用域
  • Redis作为分布式锁,得会避坑
  • SpringBoot与MongoDB深度整合及应用案例
  • Docker1:认识docker、在Linux中安装docker
  • linux之调度管理(8)-SMP cpu 的 psci启动
  • linux之调度管理(11)-cpu动态调频总体架构
  • 华为流程L1-L6业务流程深度细化到可执行
  • 【Linux】基于 Busybox 构建嵌入式 Linux(未完成)
  • 2024 hkcertctf web 部分wp
  • android-studio-4.2下载 、启动
  • SpringSecurity创建一个简单的认证应用
  • Flink Lookup Join(维表 Join)
  • 使用TensorFlow实现简化版 GoogLeNet 模型进行 MNIST 图像分类
  • 对subprocess启动的子进程使用VSCode python debugger