我已经充分利用了使用angular的好处并拥有一个混合应用程序(使用PhoneGap)我将要转换(来自Jquery Mobile)但是我有一个问题,想弄清楚如何获取我的新代码应用程序。
该应用程序目前托管在我们的网站上(非设备本地),因此正常缓存按预期工作。我更新了一个网页或js,应用程序看到了新内容(因为基础webview /浏览器知道它的新内容)。
但是使用angular的SPA方法,主模块会在前面加载,并根据加载的新部分更改视图。也不是问题。
但是,当我更改我的应用模块(由ng-app =“demo”加载的代码)时会发生什么?例如添加新路由,控制器或视图。
由于已经在浏览器中加载了引导程序,如何告诉应用程序有更改并且需要重新加载整个应用程序?
需要考虑3个用例:
1)在PC /浏览器上,您只需刷新页面即可。我不能依赖于知道这样做的用户,但它并没有那么糟糕,因为用户可能会打开和关闭他们的浏览器,从而重新加载新的app / js。
2)当我发布新的PhoneGap应用程序(到应用程序商店)时,它会强制浏览器在安装过程中关闭/重新打开,因此用户将获得新代码。
3)这是真正的傻瓜。在正常使用PhoneGap应用程序期间,用户可以打开应用程序并且不要再次关闭它(仅暂停和重新打开)。这些不是技术娴熟的用户,甚至可能不知道如何重新启动应用程序,从不介意他们应该尝试。
那么当基础应用程序模块发生变化时,强制应用程序刷新的角度方式是什么?
或者我自己创建某种类型的版本检查系统,以便在需要时强制重新加载()。
对我来说似乎是一种常见的情况,但我在使用angular进行缓存时发现的一切都说明了这一点:
“因为您可能希望为视图,部分或其他路由维护浏览器缓存”
不,我不 - 我想为我的app / views / controller破解缓存,因为我知道它已经改变了。
angular phonegap cache buster