现在,当我更改了AngularJS 1.5.7应用程序并将其上传到服务器时,我要求用户清除存储或硬刷新浏览器以获得最新版本。
应用程序是否有自动检测检查和刷新的方法?
我一直在考虑使用缓存清单,但无法确定这是否是最好的方法。
大多数开发人员使用的非常简单的逻辑是在脚本属性中添加版本参数。
例如,您的应用程序中有一个bundle.min.js脚本
<script src="ui/admin/build/js/bundle.min.js?v=1.2.0"></script>
注意:您可以使此参数动态。这样你就不需要要求硬刷新或缓存清除等
这里有两个部分:
我要求用户清除存储或硬刷新浏览器以获得最新版本的
-
这意味着您没有正确配置缓存。通常刷新或只是在新窗口中打开就足够了。有几种方法可以实现它,例如,将哈希添加到所有资产中,因此您的index.html(在本例中,它被配置为从不缓存(看起来如下:一旦您进行了更改,文件就会获得新名称,所以浏览器会再次加载它。
-
当您执行更新时,用户可能已登录并打开了应用程序。在这种情况下,为了提供更新,您可以例如将版本添加到index.html,并每小时从服务器轮询一次版本(?(-如果您看到新版本可用-向用户显示一些弹出窗口。
但你也可以忽略它——第二天用户会回来,在大多数应用程序中,用户将被迫重新登录;(