角度:向浏览器发出应用程序更新信号



我有一个Angular应用程序。如果我在开发服务器中运行它,一切都很好。

如果我制作一个生产版本并将 dist 的文件复制到 webservers 公共目录中,那么浏览器不会加载新版本 - 即使我刷新页面也是如此。

我正在使用Firefox,网络服务器是Apache2。如果我清理浏览器缓存,它将正确加载新版本。

如何向浏览器发出信号以重新加载新版本而不是使用缓存的版本?

您可以在将文件包含在索引中时将版本查询参数附加到文件中.html并在每次新版本时增加该参数。

当浏览器发现查询字符串参数已更改时,将强制它再次从服务器检索文件

它会像

<script type="text/javascript" src="main.js?ver=1"></script>

需要将服务器配置为发送适当的缓存控制标头。如果您无法控制服务器配置,还可以考虑将元标记添加到索引.html

Angular 应用程序的生产构建应该产生带有新哈希的 js 文件,这应该允许最终用户获得新版本。但是,可能是缓存的设置方式不会获得更改。 将元标记添加到索引并正确设置服务器应该可以解决此问题。

相关内容

最新更新