处理/推送用户浏览器的文件更新?

时间:2017-04-21 03:11:08

标签: backbone.js web-applications single-page-application

当我在服务器上更改我的Backbone Web应用程序代码时,如何更新用户的浏览器,以便他们看到这些更改。

作为SPA,页面很少刷新。因此,即使在我的脚本标签上放置哈希/时间戳,它仍然不够,即,这不是理想的IMO:

...
<script src="js/main.js?t=SOME_HASH"></script>

Backbone有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Backbone是一个只为应用程序提供结构的JS框架,它不会处理这样的东西。这涉及到服务器的配置,你需要自己解决它。

由于您说您的SPA很少刷新 - 您的应用可能会通过大量的AJAX请求与服务器联系。您可以在服务器上为这些请求添加拦截器,以检查服务器上是否更改了内容并发送带有响应的shouldReload: true
您还应该有一个AJAX拦截器客户端,它会在响应中检查这个并重新加载页面/让用户了解服务器上的更新,并提供重新加载/重新启动的选项。

另一种选择是实现websockets / polling,以便服务器可以推送有关客户端更改的通知。 socket.io是一个使用Web套接字并回退到轮询的插件。

P.S:你还需要按照你提到的那样破解缓存