我有一个Angular应用。如果我在dev-server中运行它,一切都很好。
如果我制作产品版本并将dist的文件复制到Web服务器的公共目录中,那么即使刷新页面,浏览器也不会加载新版本。
我正在使用Firefox,网络服务器是Apache2。如果我清理浏览器缓存,它将正确加载新版本。
如何通知浏览器重新加载新版本,而不是使用缓存的版本?
答案 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 index和setting up the server correctly应该可以解决此问题。