js加版本号 webpack_Webpack Plugin 自动生成版本号等配置并通过前端服务器获取更新微信缓存旧代码问题...

本文介绍了在微信H5开发中解决缓存问题的方法,通过Webpack Plugin自动生成版本号,并结合前端服务器获取版本信息进行更新。详细讨论了如何在Webpack配置中实现版本号插件,以及如何在项目启动时检查版本并强制刷新缓存。
摘要由CSDN通过智能技术生成

[目录]

背景

引申问题

思路

使用示例

Env添加版本变量

插件代码

配置文件中引入VersionPlugin

验证版本号并处理

Shell终端执行打包

优化

如何通过编译指令指定版本号?

其他插件

其他处理缓存方式及问题

参考文章

[TAG]:

Vue

JavaScript

Webpack Plugin

自动版本号

微信缓存更新

背景

微信H5开发中,遇到了问题:

微信H5对Index.html缓存问题,使得提测过程中、发布Release版本后,用户端看到的页面依旧是缓存的html/js/cs

在JavaScrip文件分包情况下,项目重新打包后,由于发布时清除了原js文件,如果html已缓存,就会出现加载不到js的错误

由于需求和测试需要,支付渠道需要切换,每次为了一个配置参数却需要反复提交TAG

引申问题

版本号如何自动生成?能否指定版本号?

如何获取版本号等配置?通过Service服务器API获取就会对Service侵入——接口同学要是善良尚可,要是......

思路

本着自己的问题自己解决,既然前端都是服务器在跑,那就直接提供个配置访问文件,打包时复制一份岂不快哉。但是每次提测、发布都还得手动修改版本?怎么行?通过Webpack Plugin、运行脚本自动生成吧。

前提: js等文件需要通过hash配置文件名,否则在微信缓存过期前貌似只能通过手动清理缓存处理。文件名配置参考

使用示例

Env添加版本变量

// 示例

// 文件:/config/prod.env.js

module.exports = {

NODE_ENV: '"production"',

VERSION:'"v1.0 [' + new Date().toLocaleString() + ']"'

}

// 文件:/config/dev.env.js

module.exports = merge(prodEnv, { // 这里使用了merge, 为了后续判断所以需要设置空字符串

NODE_ENV: '"development"',

VERSION: '""', // 开发环境置空才不会判断版本,因为开发环境未配置自动生成版本配置信息

}

// 文件:/config/index.js

module.exports =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值