当我为prod构建时,我会得到散列文件,当用户刷新时,我们会得到404个不确定如何修复的文件



我正在GCP存储中运行angular应用程序当我运行ng build--prod--base href时--输出路径~/Dev/GCP/除了。。。如果用户刷新以获取新内容,则在css和javascript上显示404s我知道如果,但我如何才能让它理解更改,而不会因为哈希而丢失链接。

我试过关闭hash,但这取消了缓存破坏的全部意义。

ng build--prod--base href--输出路径~/Dev/GCP/

用户可以在js和css等文件上刷新而不获取404,以及js 的一些路由

这不是角度问题。让我解释一下发生了什么:

  1. 初始应用程序上传到GCP存储
  2. 用户点击url并获得index.html基页
  3. 您使用新散列重新部署(缓存破坏(
  4. 用户点击url,从浏览器中获取步骤2中缓存的index.html基页。这指向了旧的js和css文件,它们已经不存在了

要验证上述场景(如果您不是从CDN开始,则需要刷新边缘(,当您点击4时,请尝试使用强制刷新(如ctrl+F5(。

如果您验证了这一点,那么您需要检查GCP存储,了解如何在index.html 上应用无缓存标头

最新更新