0

我将开发一个基于 AMD 的大型 javascript 应用程序,该应用程序由主干.js 和可能的 require.js 构成。我正在研究最好的方法,我想使用的一件事是模板库,尤其是 handlebars.js。

我的问题是,我想制作可以在加载应用程序之后即时加载和实现的纯 javascript 模块。模板基于 HTML 标签,但我不想在事后包含 html 页面。

我的问题是:在 javascript 中将 HTML 模板模拟为字符串然后渲染它们是愚蠢的还是有效的做法?我觉得它会扼杀整个性能,但我真的不知道。

这是我正在谈论的一个例子:

var render = function(html, model) {
  var tmpl = Handlebars.compile(html);
  return tmpl(model);
}

$(document).ready(function() {

  var template = '<div class="entry">' + 
                   '<h1>{{title}}</h1>' + 
                   '<div class="body">{{body}}</div>' + 
                 '</div>';

  var model = {
    title: 'I love templating,',
    body: 'And so do you!'
  }

  template = render(template, model);
  $(document.body).append(template);

});

这是可怕的做法,还是有更好的方法在仅 javascript 的应用程序中实现它?

4

1 回答 1

1

模板用于将 html 与 javascript 代码分开。我建议您查看 requireJS 文本插件以在 AMD 环境中加载您的模板代码。

于 2013-07-16T01:35:15.913 回答