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

时间:2018-10-23 08:35:44

标签: angular

我有一个Angular应用。如果我在dev-server中运行它,一切都很好。

如果我制作产品版本并将dist的文件复制到Web服务器的公共目录中,那么即使刷新页面,浏览器也不会加载新版本。

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

如何通知浏览器重新加载新版本,而不是使用缓存的版本?

2 个答案:

答案 0 :(得分:1)

当将文件包含在index.html中时,可以在文件中附加版本查询参数,并随每个新版本的增加而增加。

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

就像

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

答案 1 :(得分:0)

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

构建Angular应用程序的产品应导致js文件带有新的哈希,这应允许最终用户获得新版本。但是,缓存的设置方式可能不会导致更改。 Adding meta tags to the indexsetting up the server correctly应该可以解决此问题。

相关问题