gpt4 book ai didi

azure - 如何使通过 Azure 应用服务托管的 React 应用程序的浏览器缓存失效?

转载 作者:行者123 更新时间:2023-12-03 03:41:53 25 4
gpt4 key购买 nike

我有一个通过 Azure 应用服务托管的 React Web 应用程序,并且更新相当频繁,但是访问该应用程序的浏览器似乎相当积极地缓存 javascript/html 文件,因此我必须不断地硬刷新/清空缓存,并告诉应用程序的用户执行相同的操作。我想避免最终用户在发生更改时必须手动清除缓存,应用服务是否有办法告诉客户端使其缓存无效?我尝试查找如何设置应用程序服务的 Cache-Control header ,但这似乎不可能,应用程序是否需要位于应用程序网关或 Azure CDN 实例后面才能执行此操作?是否有推荐的方法来强制客户端在部署完成时下拉最新更改?

最佳答案

虽然您可以通过在部署时清除缓存来控制 CDN 缓存,但这不会清除任何本地浏览器缓存。

为了在不完全禁用缓存的情况下解决此问题,您需要在前端实现一些逻辑来缓存本地缓存。

基本原理如下:

  • 部署一个可公开访问的文件,其中包含最新部署版本的版本号。
  • 在您的前端代码(例如 JavaScript)中获取此文件并将版本号与前端文件中嵌入的版本进行比较。如果版本不同,请删除本地缓存并强制重新加载页面。

很少有库可以提供帮助。例如,如果您的前端是 React 应用程序,您可以考虑使用 react-cache-buster

关于azure - 如何使通过 Azure 应用服务托管的 React 应用程序的浏览器缓存失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70868232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com