存储HTML模板的位置,以便在Backbone.js中使用

时间:2012-09-11 06:53:07

标签: javascript templates backbone.js middleman

我目前正在使用Backbone.js和Middleman开发一个静态站点(没有后端或服务器的东西)。该网站没有任何动态内容,只有普通的HTML代码。但它在页面和一些Javascript效果之间有一些转换。

所以我想利用Backbones Router获取历史记录,并希望通过Backbone视图动态地将视图附加到DOM。到目前为止一切都很好。

现在我想知道在哪里存储网站的HTML部分,以便Backbone可以使用它。使用内联脚本标记我认为它太乱了,所以我想在不同的HTML文件中交换它。现在我可以通过requirejs动态加载HTML文件,但我认为最好将所有HTML内容打包到一个JS文件中并在第一次有人访问页面时加载它。

怎么可能做到这样呢?或者有没有人有更好的解决方案?

3 个答案:

答案 0 :(得分:1)

如果您正在开发HTML5应用程序,则可以使用应用程序脱机缓存来获取所有必需的HTML文件和其他资源。它涉及编写缓存清单文件。

以下网站提供了离线功能和编写清单文件的详细说明:http://diveintohtml5.info/offline.html

答案 1 :(得分:1)

我个人将骨干的所有部分分别放在不同的文件夹中。因此,对于模板,我将每个模板和其中一个放在模板文件夹中的单独文件中。这样开发一切都很干净。我使用“文本”加载它们! require.js中的功能。

当我想把项目放在开发中时,我使用了require.js的优化部分,它为我缩小并组合了所有文件。

希望有所帮助。

答案 2 :(得分:0)

经过大量的研究,我这样做:

  • 将模板存储为模板文件夹中的.jst.ejs
  • 使用Sprockets
  • 包含它们
  • 使用JST加载模板

在骨干网中,我使用views类来扩展新视图并使用模板:

App.Views.Layout.Logo = Backbone.Views.extend({
  template: JST['templates/layout/logo'],
  el: "#logo",
});