清除 Angular 中的浏览器缓存

2024-04-16

我经常更新的 Angular 应用程序出现问题。

我想避免浏览器缓存,并且正在尝试几种替代方法,但它们都不起作用。

首先,我很难测试该解决方案是否有效,因为当我上传新版本时,有时我只需刷新页面即可看到它,而其他时候我需要打开控制台并强制刷新清空缓存。

我尝试在请求标头中包含 Cache-Control: no-cache,如图所示,但这对我不起作用。

我也尝试过,放入app.component.ts

templateUrl: './app.component.html? v1'

正如我所看到的一些答案 https://stackoverflow.com/questions/1011605/clear-the-cache-in-javascript,但两者都不是。

事实是,我很绝望,因为当我提供一些我认为有效的东西时,当我与老板检查时,他没有刷新它:-(,糟糕的是,正如我所说,我不知道如何真正做到这一点检查一下,每次我进入网络时,都会向服务器请求最新版本。

感谢您的帮助


当您使用 ng build 构建应用程序时,应该使用以下标志:

--outputHashing=all

这是为了启用缓存清除。这会为每个构建的文件添加一个哈希值,以便每当您将新版本上传到服务器时浏览器都会被迫加载最新版本。

因此,一种方法是运行:

ng build --prod --outputHashing=all

您可以阅读有关构建选项标志的更多信息here https://angular.io/cli/build#ng-build.

如果您不希望在运行 ng build 时附加标志,则应在 angular.json 文件的配置中设置它。

"configurations": {
  "production": {
    "optimization": true,
    "outputHashing": "all",
     .
     .
     .
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

清除 Angular 中的浏览器缓存 的相关文章

随机推荐