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

vue解决部署文件缓存方式

问题:系统上线后,除了bug。紧急修复后,发现安卓正常,ios上海市有问题。通过debug后发现,ios上缓存严重。于是想到了打包文件加时间戳的方式来去除缓存。
vue2 配置打包输出文件名方式:

const baseUrl = "./"
const timestr = new Date().getTime()
module.exports = {outputDir: "delixi",publicPath: baseUrl, // 根据你的实际情况更改这里// 选项...lintOnSave: false,productionSourceMap: false,devServer: {port: 8080,overlay: {warnings: true,errors: true}},filenameHashing: false,configureWebpack: {performance: {hints: false},output: {filename: `js/js[name].${timestr}.js`,chunkFilename: `js/chunk.[id].${timestr}.js`,}},css: {extract: {filename: `css/[name].${timestr}.css`,chunkFilename: `css/chunk.[id].${timestr}.css`,}}}

附:vite配置打包文件名称加时间戳方式

import { resolve } from 'path';
import { defineConfig, loadEnv } from 'vite';
import vue2 from '@vitejs/plugin-vue2';
const Timestamp = new Date().getTime();//随机时间戳
export default ({ mode }) => {const { VITE_PORT, VITE_BASE_URL, VITE_PROXY_DOMAIN_REAL } = loadEnv(mode, process.cwd());return defineConfig({base: VITE_BASE_URL,plugins: [vue2()],resolve: {alias: {'@': resolve(__dirname, 'src'),},},css: {preprocessorOptions: {less: {modifyVars: {hack: `true; @import (reference) "${resolve('src/style/variables.less')}";`,},math: 'strict',javascriptEnabled: true,},},},server: {// 是否开启 httpshttps: false,// 端口号port: VITE_PORT,// 监听所有地址host: '0.0.0.0',// 服务启动时是否自动打开浏览器open: false,// 允许跨域cors: true,// 自定义代理规则proxy: {'/admin': {target: VITE_PROXY_DOMAIN_REAL,ws: true,changeOrigin: true,// rewrite: (path) => path.replace(/^\/admin/, ''),},'/master': {target: VITE_PROXY_DOMAIN_REAL,ws: true,changeOrigin: true,// rewrite: (path) => path.replace(/^\/admin/, ''),},},},build: {outDir: 'delixi',// publicPath: './',// 设置最终构建的浏览器兼容目标target: 'es2015',// 构建后是否生成 source map 文件sourcemap: false,//  chunk 大小警告的限制(以 kbs 为单位)// chunkSizeWarningLimit: 2000,// 启用/禁用 gzip 压缩大小报告reportCompressedSize: false,rollupOptions: {output: {chunkFileNames: `static/js/[name].[hash]${Timestamp}.js`,entryFileNames: `static/js/[name].[hash]${Timestamp}.js`,assetFileNames: `static/[ext]/[name].[hash]${Timestamp}.[ext]`,},}},});
};

这次h5活动遇到的大坑:
1、使用vite做的h5项目,在ios上缓存刷新不掉,或者很久才能刷新掉。打包文件加时间戳,部分手机也无效
2、iOS上,点击事件有时候会失效。或者是路由跳转不过去。同一个手机有时候会发剩,有时候正常。最终重构项目,不使用vite。没有再发生类似问题。。。

推荐:好用的230G电话卡

相关文章:

  • 怎样陪孩子度过一个充实的假期?
  • Java工具类:使用RestTemplate请求WebService接口
  • 你真的知道如何查看 Elasticsearch 的 Debug 日志吗?!
  • 后面的输入框与前面的联动,输入框只能输入正数(不用正则)
  • Gazebo的模型下载。
  • 面试题16.15.珠玑妙算
  • 【大数据分析与挖掘技术】概述
  • 智能助手的巅峰对决:ChatGPT对阵文心一言
  • C++浮点数比较
  • MySQL经典面试题
  • SQL执行时间过长如何优化
  • Spring MVC学习之——上传文件
  • C# .NET读取Excel文件并将数据导出到DataTable、数据库及文本
  • 什么是CSS Sprite,以及如何在页面或网站中使用它
  • 【mfc/VS2022】绘图工具设计-绘制基本图元2
  • [NodeJS] 关于Buffer
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 3.7、@ResponseBody 和 @RestController
  • EventListener原理
  • Gradle 5.0 正式版发布
  • hadoop集群管理系统搭建规划说明
  • JavaScript类型识别
  • Less 日常用法
  • Redis 中的布隆过滤器
  • Solarized Scheme
  • vagrant 添加本地 box 安装 laravel homestead
  • vue-router 实现分析
  • 回顾 Swift 多平台移植进度 #2
  • 马上搞懂 GeoJSON
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 一天一个设计模式之JS实现——适配器模式
  • 译米田引理
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​批处理文件中的errorlevel用法
  • !!Dom4j 学习笔记
  • #QT(一种朴素的计算器实现方法)
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (推荐)叮当——中文语音对话机器人
  • (转)iOS字体
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)程序员技术练级攻略
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • ./configure、make、make install 命令
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET MVC第五章、模型绑定获取表单数据
  • .net 反编译_.net反编译的相关问题
  • .Net下的签名与混淆