首页 > 解决方案 > 生成发布文件时不进行更改。角 8

问题描述

我有一个项目angular 8C # WebApi我在IIS服务器上发布,到目前为止,当我第一次发布时没有问题,但是在对我的应用程序进行更改并返回以生成文件时,说是在发布时版本 2,它不会在我Angular FrontEnd进入应用程序时进行更改,仅在我重新加载页面时才会这样做ctrl + R

这对于使用该应用程序的用户来说是一个大问题,因为如果他们不重新加载,他们将继续使用第一个版本。

这是我生成文件的方式:

 ng build --prod --output-hashing = all

此行生成以下文件:

在此处输入图像描述

我有这些代码行index.html

<meta http-equiv="Expires" content="0">
<meta http-equiv="Last-Modified" content="0">
<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

我不知道会发生什么,但只有在以这种方式重新加载页面时才采用新版本。

我希望它在生成文件时清理、强制和缓存。

有没有办法从代码或生成文件时做到这一点?

标签: angulariis

解决方案


据我所知,如果您的浏览器曾经访问过您的 Web 应用程序,它会将缓存存储在客户端。

如果修改内容并添加响应头,它不会重新向服务器发送请求,它会使用缓存页面。

要避免这种情况,唯一的方法是清除浏览器的缓存或使用 Ctrl+F5 刷新页面。那么如果你的响应头下一次包含 no-cache ,浏览器就不会再存储缓存了。


推荐阅读