Angular 17.1 中的客户端缓存问题

问题描述 投票:0回答:1

我在 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 caching browser-cache
1个回答
0
投票

您是否尝试过更改 Angular 默认文件的名称以强制刷新?

© www.soinside.com 2019 - 2024. All rights reserved.