小程序
小游戏
企业微信
微信支付
扫描小程序码分享
vue项目编译部署之后,部分手机无法更新到最新的版本,访问的还是之前的版本,试过多种方法都无法清除缓存,请问要怎样才能清除缓存呢
16 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
楼主,你可以按下面的步骤这样试试:
①在网页头部添加以下内容
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
②打包时在JS、css资源名里添加hash以及时间戳
③访问网页时在后面缀上随机数参数报证访问地址不一样。
依次做完①②③步就可以了,然后你会发现啥用没有。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
楼主现在解决了吗
vue项目中配置文件vue.config.js添加以下试试 const Timestamp = new Date().getTime(); module.exports = { configureWebpack:{ output: { // 输出重构 打包编译后的 文件名称 【模块名称.时间戳】 filename: `js/[name].${Timestamp}.js`, chunkFilename: `js/[name].${Timestamp}.js` } } }
官方还没有解决方法吗
这么多年了,还是没有解决!
刚好最近也遇到了这个问题,整理了下,可以参考下这个文档。https://juejin.cn/post/7098522027291574280
nginx服务器解决微信h5文件缓存问题的方法
修改nginx配置,不缓存htm/html文件
在location里添加 if语句
```js
if ($request_filename ~ .*\.(htm|html)$)
{
add_header Cache-Control no-cache;
}
```
其他代码不用加,只加以上的。
例如
location / {
access_log /data/nginx/log/xxx.log api;
root /home/www/html;
http协议的协商缓存吧。正常情况vue打包之后,index.html中引用的文件哈希值会变,所以不会有缓存,所以只要保证在访问index.html文件时不缓存就可以了。
所以现在有解决办法么
if (!/t=[1-9]+/.test(location.href)) { location.replace(location.href + ['?', '&'][+location.href.includes('?')] + `t=${Date.now()}`) }
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
楼主,你可以按下面的步骤这样试试:
①在网页头部添加以下内容
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
②打包时在JS、css资源名里添加hash以及时间戳
③访问网页时在后面缀上随机数参数报证访问地址不一样。
依次做完①②③步就可以了,然后你会发现啥用没有。
楼主现在解决了吗
vue项目中配置文件vue.config.js添加以下试试 const Timestamp = new Date().getTime(); module.exports = { configureWebpack:{ output: { // 输出重构 打包编译后的 文件名称 【模块名称.时间戳】 filename: `js/[name].${Timestamp}.js`, chunkFilename: `js/[name].${Timestamp}.js` } } }
官方还没有解决方法吗
这么多年了,还是没有解决!
刚好最近也遇到了这个问题,整理了下,可以参考下这个文档。https://juejin.cn/post/7098522027291574280
nginx服务器解决微信h5文件缓存问题的方法
修改nginx配置,不缓存htm/html文件
在location里添加 if语句
```js
if ($request_filename ~ .*\.(htm|html)$)
{
add_header Cache-Control no-cache;
}
```
其他代码不用加,只加以上的。
例如
```js
location / {
access_log /data/nginx/log/xxx.log api;
root /home/www/html;
if ($request_filename ~ .*\.(htm|html)$)
{
add_header Cache-Control no-cache;
}
}
```
http协议的协商缓存吧。正常情况vue打包之后,index.html中引用的文件哈希值会变,所以不会有缓存,所以只要保证在访问index.html文件时不缓存就可以了。
所以现在有解决办法么
if (!/t=[1-9]+/.test(location.href)) { location.replace(location.href + ['?', '&'][+location.href.includes('?')] + `t=${Date.now()}`) }