如果javascript文件已更新,则IIS / JavaScript SPA重新加载页面

问题描述

我在Angular中有一个单页应用程序,在IIS中托管有ASP.Net,我认为对于其他语言来说可能是相同的。现在,当用户在应用程序内部并且我用新版本更新服务器时,用户会话结束,并且他被重定向登录页面。现在的问题是JS文件已更改(我还在JS文件名中添加了附加的版本字符串),但是由于页面未重新加载/刷新(SPA),因此JS文件未更新,用户登录并工作使用旧文件,直到他重新加载浏览器或关闭浏览器。 有什么办法告诉浏览器文件已更改?

解决方法

在我看来,如果您想让浏览器知道文件已更改,则可以将Angular组件使用当前js版本向服务器发出ajax请求一段时间。如果服务器的js已更新,则可以将更新后的响应返回给客户端。

如果客户端收到更新响应,则可以通知最终用户将加载新版本,并询问他们是否要保存工作然后重新加载等。