我在 Angular 17.1 中遇到缓存问题,我的所有文件都经过哈希处理,但客户端浏览器未收到更新。有用户缓存了4天,我上传的版本对某些设备没有影响,大约15%的设备没有收到更正的文件, 以下是我所做的解决方案,但没有任何结果,是否有其他可以完成的解决方案?
1 - 我在 Angular Json 中设置哈希:
"outputHashing": "all",
2 - 我将其设置为 nginx.config,以便它删除并重新下载所有文件
location ~* \.(js|css|html|woff|woff2|png|jpg|jpeg|gif|svg|eot|ttf)$ {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
expires 0;
}
3 - 我在index.html中将元设置为无缓存
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, proxy-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
4 - 排除服务工作的存档
5 - 不时强制清除缓存
caches.keys().then((keyList) =>
Promise.all(
keyList.map((key) => {
caches.delete(key)
}
)
)
)
我做了所有这些尝试,但仍然无法终止客户端缓存来获取最新的 .ts 文件,请帮助我
您是否尝试过更改 Angular 默认文件的名称以强制刷新?