当我发布应用程序更新时,我希望确保下载的所有文件 .js、.png 等的状态为 200,而不是 304。
我尝试过使用这个方法:
window.location.reload(true);
但是之后可以看到有些文件仍然以 304 状态下载。
如何在 Angular 中通过 js 进行清空缓存和硬重载以强制所有文件以 304 状态下载?
创建生产版本时,您可以使用
output-hashing
强制重新加载,请参阅文档 https://angular.io/cli/build。
文档中是这样描述的:
定义输出文件名缓存破坏哈希模式。
如果将其设置为
all
,则会将唯一的哈希添加到生成的构建文件中,强制客户端浏览器从 http 服务器重新加载文件。
我花了一天的时间,尝试在index.html、缓存清除、服务工作者中添加元标记,但在提供程序的app.module.ts文件中添加以下行对我有用。
{ provide: LocationStrategy, useClass: HashLocationStrategy }