0

我正在使用backbone.js,并且在开发过程中有许多.js 和.html 模板文件(每个模型一个)。在部署应用程序之前,我将所有 .js 压缩到一个文件中,它运行良好。我如何也可以为模板执行此操作?我有一些想法,但他们有问题:

  • 将所有模板放在主页中不可见的“div”标签下。然而,一旦浏览器加载模板,模板就会被“执行”(例如图片无需下载)
  • 将编码的模板放入 javascript 变量中。但是编码的 html 将不可读,这对于客户端调试很重要
  • 将模板放在外部 xml 文件中。我想避免使用 xml 解析器。由于编码,其他非 xml 格式将再次无法读取。
4

4 回答 4

1

on my project i do this as follows:

Backbone has Underscore in it and Underscore has already a very cool minimalistic Template system. so i write the templates in separate files and get them with jQuery

    $.get('html_template.tpl', function(template) {
        $(body).html(_.template(template)(template_data));
    });

so i let the user only download templates if really needed.

Maybe it helps.


Underscore Template : http://documentcloud.github.com/underscore/#template

于 2012-07-30T07:12:36.347 回答
1

我建议使用把手进行模板。

我所做的是将模板打包到一个 javascript 文件 (templates.js) 中,因此它们不在 DOM 上。模板被编译成用于生产的 js 变量,但在开发中它们按原样使用,因此调试应该很简单。

我在一篇博文中写了更多关于这个的内容

于 2012-07-29T06:52:16.117 回答
1

好的...我之前找不到任何东西,但是在我发布问题后的那一刻,我了解到了这一点:

<script type="text/template" id="user-template">
...
</script>
于 2012-07-28T17:36:00.210 回答
0

如果您刚刚了解了<script type="text/template" id="">ICanHaz.js 可能您接下来可以尝试的东西,或者Handlebars.js

于 2012-07-28T20:45:56.580 回答