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