【问题标题】:When I build for prod i get hashed files that when users refreshed we get 404s of the files not sure how to fix it当我为 prod 构建时,我得到散列文件,当用户刷新时,我们得到 404 个文件,不知道如何修复它
【发布时间】:2020-02-28 06:07:30
【问题描述】:

我正在从 GCP 存储运行 Angular 应用程序 当我运行 ng build --prod --base-href 时。 --输出路径~/Dev/GCP/ 这一切都完美无缺,除了...... 如果用户刷新以获取新内容,css 和 javascript 上的 404s 我知道 if 但我怎样才能在不丢失链接导致哈希的情况下理解更改。

我已经尝试关闭哈希,但这会取消缓存清除权的全部意义。

ng build --prod --base-href 。 --output-path ~/Dev/GCP/

用户可以在js和css等文件以及js的某些路由上刷新而不得到404

【问题讨论】:

  • 您将哪个HTTP server 用于生产?

标签: node.js angular webpack build


【解决方案1】:

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

  1. 初始应用程序已上传到 GCP 存储中
  2. 用户点击url,得到index.html基页
  3. 您使用新的哈希重新部署(缓存清除)
  4. 用户点击 url 并从浏览器获取第 2 步中缓存的 index.html 基本页面。这指向不再存在的旧 js 和 css 文件。

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

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

【讨论】:

  • 感谢您的回复,我太忙了,我忘了这件事,正要在不知不觉中重新询问,您的 100% 的钱! thnak 你我也将我的基本href从./更改为完整的url,事情正在用煤气做饭。抱歉,我的回复延迟了
猜你喜欢
  • 2016-03-28
  • 1970-01-01
  • 2012-08-30
  • 2020-11-16
  • 2016-05-20
  • 2021-04-11
  • 1970-01-01
  • 2021-09-16
  • 2011-01-31
相关资源
最近更新 更多