如何在 Angular 中从 js 进行清空缓存和硬重载?

问题描述 投票:0回答:2

当我发布应用程序更新时,我希望确保下载的所有文件 .js、.png 等的状态为 200,而不是 304。

我尝试过使用这个方法:

window.location.reload(true);

但是之后可以看到有些文件仍然以 304 状态下载。

如何在 Angular 中通过 js 进行清空缓存和硬重载以强制所有文件以 304 状态下载?

javascript html angular caching reload
2个回答
3
投票

创建生产版本时,您可以使用

output-hashing
强制重新加载,请参阅文档 https://angular.io/cli/build。 文档中是这样描述的:

定义输出文件名缓存破坏哈希模式。

如果将其设置为

all
,则会将唯一的哈希添加到生成的构建文件中,强制客户端浏览器从 http 服务器重新加载文件。


0
投票

我花了一天的时间,尝试在index.html、缓存清除、服务工作者中添加元标记,但在提供程序的app.module.ts文件中添加以下行对我有用。

{ provide: LocationStrategy, useClass: HashLocationStrategy }
© www.soinside.com 2019 - 2024. All rights reserved.