当我在服务器上更改我的Backbone Web应用程序代码时,如何更新用户的浏览器,以便他们看到这些更改。
作为SPA,页面很少刷新。因此,即使在我的脚本标签上放置哈希/时间戳,它仍然不够,即,这不是理想的IMO:
...
<script src="js/main.js?t=SOME_HASH"></script>
Backbone有办法解决这个问题吗?
答案 0 :(得分:1)
Backbone是一个只为应用程序提供结构的JS框架,它不会处理这样的东西。这涉及到服务器的配置,你需要自己解决它。
由于您说您的SPA很少刷新 - 您的应用可能会通过大量的AJAX请求与服务器联系。您可以在服务器上为这些请求添加拦截器,以检查服务器上是否更改了内容并发送带有响应的shouldReload: true
。
您还应该有一个AJAX拦截器客户端,它会在响应中检查这个并重新加载页面/让用户了解服务器上的更新,并提供重新加载/重新启动的选项。
另一种选择是实现websockets / polling,以便服务器可以推送有关客户端更改的通知。 socket.io是一个使用Web套接字并回退到轮询的插件。
P.S:你还需要按照你提到的那样破解缓存