我已经使用 Angularjs 完成了一个完整的单页应用程序 (SPA) 应用程序。
到目前为止,一切都很好。
众所周知,所有 javascript 文件都是在第一次访问时加载的。或者,某些文件在需要时以惰性模式样式加载。
到目前为止,一切都很好...
情况是:服务器更新所有文件(html 部分、javascript、css),而客户端仍然有很多文件过时。
这可以简单地解决刷新浏览器,按 F5 键、control+f5 或浏览器中的刷新按钮。但是在使用 SPA 时,这个概念并不存在。
我不知道如何解决这个问题。
我可以以某种方式检测到(可能会执行 ping 操作)并且只是重新加载该特定文件。使用 document.write 策略。但现在出现了另一个问题,我有一个所有 javascript 都被缩小的 javascript 文件。
我可以尝试强制在浏览器中完全重新加载或强制重新登录(并重新加载,因为登录是 SPA 部分)。
但是重新加载是一个丑陋的解决方案,假设客户端丢失了表单中的所有数据,因为他很不幸服务器刚刚更新了。更糟糕的是,正因为如此,我现在必须创建一些“自动保存”功能。
如果可能的话,我不确定如何以“角度方式”处理这个问题。
我想知道 google gmail 是如何处理这个问题的,因为我在没有登录的情况下保持登录了很多小时。