gpt4 book ai didi

angular - 如果已缓存,如何使用 Angular 2 代码在任何浏览器中强制从服务器加载 index.html

转载 作者:太空狗 更新时间:2023-10-29 18:00:12 24 4
gpt4 key购买 nike

目前我在 Apache 2.4 网络服务器上托管一个 Angular 2 应用程序,并且在客户端的浏览器中最新的网站更改在新的生产部署后不会呈现!我发现 index.html 被浏览器缓存了。所有 css 和 Angular 包文件链接都可以在 index.html 上完成,因此它是应用程序的入口点。我们有成千上万的活跃用户,所以我们不能坚持让他们按 CTRL+F5 或执行 hard reload

我已经检查了不同的生产构建方式(例如 Thread1Thread2 ),index.html 也已经包含以下元标记。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

使用 Angular 代码,我检查了查询参数的缓存破坏,并遵循了在每个组件中使用 module.id 的良好做法。

@Component({
...
moduleId: module.id,
...
})

所以我的问题是,

  1. 在这种情况下,我如何强制浏览器在所有用户的机器上使用 Angular 2 代码 加载新的 index.html? - 如果可能的话,请告诉我如何处理这个问题。

我们将不胜感激您的帮助!

最佳答案

问题不在于 index.html,正如 Andoni 所说,您可以在捆绑文件名称上添加一个自动生成的随机前缀。

您可以使用以下命令将其存档:

ng build——输出散列所有

这里有更多选项:

https://angular.io/cli/build

关于angular - 如果已缓存,如何使用 Angular 2 代码在任何浏览器中强制从服务器加载 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610579/

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