在哪里存储HTML模板以在Backbone.js中使用

Where to store HTML templates for use in Backbone.js

本文关键字:js Backbone 存储 HTML 在哪里      更新时间:2023-09-26

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

因此,我想使用Backbones Router来获取历史,并希望通过Backbone视图将视图动态附加到DOM中。到目前为止还不错。

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

这样的事情怎么可能发生?或者有人有更好的解决方案吗?

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

以下网站提供了离线功能和编写清单文件的良好描述:http://diveintohtml5.info/offline.html.

就我个人而言,我将主干的所有部分都分离在不同的文件夹中。因此,对于模板,我将每一个和其中一个放在模板文件夹中的单独文件中。这样,在开发时一切都是干净的。我使用require.js.中的"text!"功能加载它们

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

希望能有所帮助。

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

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

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

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