gpt4 book ai didi

angular - 检测 SPA 的应用程序更新

转载 作者:行者123 更新时间:2023-12-03 21:31:16 24 4
gpt4 key购买 nike

angular-cli 捆绑时,块在生产模式下获得唯一名称。重复捆绑(例如部署新版本)会清除 dist目录并将具有新文件名的新包放在那里,只有 index.html被替换,指向现在当前的包名称。

当这种过时的版本尝试延迟加载包并获得 404 时,这会导致已加载的应用程序实例出现问题。

解决此问题的最佳做法是什么?我可以想到几种解决方案,但想寻求一些意见。

  • 调整构建过程以不删除过时的文件,而是将它们并行保留一段时间。那么问题仍然存在:持续多久? SPA 浏览器窗口可以保持打开的时间没有直接限制。
  • 以某种方式处理捆绑加载时的 404 并重新加载应用程序。最好在哪里做?
  • 在 SPA 中定期“更新”检查,或者使用服务器端组件。这样做的好处是能够在新版本可用时强制用户更新他们的 SPA,但缺点是需要服务器端逻辑,从而混合前端和后端。
  • 最佳答案

    如果您使用 Cloudflare 等免费反向代理,它会缓存静态资源一段时间。实际上,这不是您构建过程的一个问题吗?

    假设您在本地构建并 rsync 到您的服务器,您只需替换替换的文件,旧的哈希值仍然存在。

    关于angular - 检测 SPA 的应用程序更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909987/

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