当前位置:首页 > 技术分享

uniapp开发微信公众号H5时防止页面被缓存的处理 h5 实现强刷,解决项目缓存问题

admin3年前 (2023-02-21)技术分享3446

记录在使用 uni-app 开发公众号应用时防止被缓存的方法

# 背景

修改页面后重新打包,测试人员在确认问题时总是说没改,页面没有变化,需要进行繁琐的清缓存操作才能获取到最新版本。

# 解决方法

确定需要修改的文件,首先我们要看 src/manifest.json 里面定义的 template 字段,根据值找到模板文件。

例如: public/index.html写入禁止缓存的 meta

<!-- 设置 meta 不缓存 -->
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">

缓存的文件主要是 css 和 js 两种,所以我们要分别处理。

# 样式缓存处理

我们只需要修改模板文件中引用 css 的地方,在引用 css 文件名的前面加入哈希。类似下面这种方式:

<link  rel="stylesheet"  href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css"/>

如果已经自带了这个哈希值则不用做这个处理。

# JS 缓存处理

修改入口页面的 js 引用机制,加入时间戳。

具体要在项目根目录下添加一个 vue.config.js 配置,需要你的 APP 是命令行创建的,这样在服务器上打包的时候才可以加载使用。

然后输入如下内容:

if(process.env.UNI_PLATFORM === 'h5'){
	let filePath = 'static/js/'
	let Timestamp = new Date().getTime()
	
	module.exports = {
		// webpack配置
		filenameHashing: false,
		configureWebpack:{
			// webpack配置 解决js缓存的问题
			output:{
				// 输出重构 打包编译后的 文件目录/文件名称?v=时间戳
				filename:`${filePath}[name].js?v=${Timestamp}`,
				chunkFilename:`${filePath}[name].js?v=${Timestamp}`
			}
		}
	}
}else{
	// 其他打包配置
	
	module.exports = {
		// webpack 相关配置
		filenameHashing: false,
	}
}

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/485.html

分享给朋友:

“uniapp开发微信公众号H5时防止页面被缓存的处理 h5 实现强刷,解决项目缓存问题” 的相关文章

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

随着 2021 年的到来,Adobe Flash Player 也迎来了告别,Adobe 在 2020 年 12 月 31 日后将不再支持 Flash Player。其实早在 2017 年,Adobe 公司就已宣布,计划在 2020 年底逐…

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

贾氏鸣天鼓健耳养肾操

贾氏鸣天鼓健耳养肾操

《贾氏鸣天鼓健耳养肾操》鸣天鼓是健耳强肾治耳病的古法,贾氏越云自创的鸣天鼓健耳养肾操是在古法的基础上创建。顺序:1静坐挺胸。2双手放心脏位置的胸口,左手掌盖住右手掌。3闭目静心,深呼吸19下。4双手相互搓揉,让手掌发热。5用发热的双手手掌严…

[钉钉]内网穿透之HTTP穿透

[钉钉]内网穿透之HTTP穿透

内网穿透之HTTP穿透更新时间:2021-06-21鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。注意 本工具不保证稳定性,仅适用于开发测试阶段,禁止当作公网域名使用…

redis 设置过期Key 的 maxmemory-policy 六种方式

平时会用到redis 当缓存过多时会遇到下面的报错OOM command not allowed when used memory > 'maxmemory'这说明redis的缓存满了我们可以通过修改过期策略来修改cd…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。