如何初始化backbone.js中的页面,以最大限度地减lessHTTP请求和延迟

我正在学习骨干,从这些例子和教程中我得到了这样的印象:

  • 最初的GET /返回骨干页面和视图模板。
  • Backbone使用REST API通过GET需要的数据并将其添加到DOM中充实页面。

这样做很有效,但是对于额外的HTTP请求,以及从最终用户的angular度来看,这似乎是浪费(在页面可见之前至less两次往返,实际上是三次,因为API必须首先询问哪些小部件可用的,然后获取任何可用的小部件的细节….)。

有没有一个确定的,标准的方法来解决这个问题? 我目前的候选人是:

  1. 忽略问题。
  2. 将初始化数据通过embedded式JavaScript直接embedded到原始页面中。
  3. 像骨干不存在一样渲染页面。 当中枢完成初始化时,它将(希望)与用户看到的页面同步。 它可以纠正任何需要的东西,如果事情在几秒钟内改变了,但至less用户不会被挂起。
  4. 我还没有想到的另一个解决scheme?

有没有一个确定的方法来做到这一点? 这是特定情况吗? 我正在使用Node / JS / Express。

更新:我想我在Backbone的文档中find了一个解决scheme,可能是“接受”的解决scheme:

下面是一个使用重置在初始页面加载期间在Rails应用程序中引导集合的示例。

 <script> var Accounts = new Backbone.Collection; Accounts.reset(<%= @accounts.to_json %>); </script> 

调用collection.reset()而不传递任何模型作为参数将清空整个集合。