ICanHaz.js (ICH) le puede ayudar con esto.
ICanHaz.js: Un enfoque simple/potente para realizar plantillas del lado del cliente con Mustache.js.
He encontrado que mezclar plantillas (en etiquetas de scripts) con el código HTML común en la página se mete con mi editor de código (resaltado de sintaxis, sangría, etcétera). Cargarlos como un servidor separado mantiene su HTML limpio.
Consulte this ICH pull request for automatic loading of <script type="text/html" src="my-templates.html"></script>
from your server en una plantilla por archivo.
Usted también podría load more than one template per remote HTML file this utilizando código simple como:
function getTemplates(url) {
$.get(url, function (response) {
$('template', response).each(function() {
ich.addTemplate(this.id, $(this).text());
});
});
}
O, si desea ICH para cargar de forma automática a partir de URL de su página:
<head>
<link rel="templates" type="text/html" href="my-templates.html">
</head>
$("link[type=templates]").each(function (index, link) {
getTemplates(link.attr("href"));
});
En su my-templates.html
<templates>
<template id="ul-template">
<ul id="list">
{{> li-templ}}
</ul>
</template>
<template id="ul-template2">
<div id="list2">
{{> li-templ}}
</div>
</template>
<template id="li-templ">
<p>{{ name }}</p>
</template>
</templates>
Hola, vale la pena señalar que 'Mustache.to_html' ahora ha sido reemplazado por' Mustache.render' (la definición de la función sigue siendo la misma) – Matt
¿Soy yo o el google-bot sigue los enlaces de las plantillas incrustadas de esta manera? ¿Podría ser debido a la entrada type = "text/html"?¿Serían las consecuencias de usar algo como: type = "text/bigote-template"? – pointernil
Dado que Moustache es de github, no hay más ejecución ya que el tipo MIME es texto, [aquí] (http://jsfiddle.net/anandchakru/19z7gf6n/) es un violín modificado, en caso de que alguien quiera referirse. –