如何防止浏览器缓存在 Angular 7 站点上



我在生产环境中有一个Web应用程序。用户每天都在使用它,当我发布更新并且用户返回 Web 应用程序时,他/她查看旧版本的 Web 应用程序。他需要刷新浏览器才能加载新版本。如何解决这个问题?我无法告诉数百名用户每次发布更新时刷新页面(每周 3-4 次)。我使用了以下内容来构建我的前端应用程序:带有 angular-cli 的 Angular7。

ng build --aot --output-hashing=all

这会生成必须与服务器端匹配的哈希。如果前端的缓存版本与哈希不同,则会获取新版本的应用。这假设您使用的是使用角度 CLI 进行构建的标准方式。

如果你不是,你可以随时尝试一些黑客的东西,比如下面(未经测试)

@Component({
templateUrl: './app/something/something/something.html?v=' + Math.random()
stylesUrls: ['./app/something/something/something.html?v=' + Math.random()]
})

最新更新