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

How to prevent Browser cache on Angular 7 site?

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

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

这会生成一个必须与服务器端匹配的散列。如果前端的缓存版本与哈希不同,他们将获得新版本的应用程序。这假设您正在使用 angular CLI 的标准构建方式。

如果你不是,你总是可以尝试像下面这样的骇人听闻的东西(未经测试)

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