0

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

所以我想利用 Backbones Router 来记录历史,并希望将视图动态地附加到带有 Backbone 视图的 DOM 中。到现在为止还挺好。

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

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

4

3 回答 3

1

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

以下网站很好地描述了离线功能并编写了清单文件:http ://diveintohtml5.info/offline.html 。

于 2012-09-11T07:01:00.137 回答
1

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

当我想将项目投入开发时,我使用 require.js 的优化部分,它为我缩小和组合所有文件。

希望有帮助。

于 2012-09-11T09:09:41.820 回答
0

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

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

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

App.Views.Layout.Logo = Backbone.Views.extend({
  template: JST['templates/layout/logo'],
  el: "#logo",
});
于 2012-09-26T11:02:29.597 回答