我将开发一个基于 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 的应用程序中实现它?