Uso node.js en el lado del servidor, express.js y jade. He escrito una pequeña función de contenedor para rellenar plantillas de jade en el lado del cliente. Creo que usaré requireJS y jQuery en el lado del cliente, pero aún no lo he decidido. Ahora, la tarea que tengo que hacer muchas veces es¿Un marco JS del lado del cliente con plantillas y almacenamiento en caché?
- buscar una plantilla (desde el servidor o caché)
- obtener los datos desde el servidor
- llenar la plantilla e insertar en/en lugar de un elemento
Nota: hay toneladas de motores de plantillas, y mi pregunta no es sobre un motor de plantillas, sino sobre un flujo de trabajo sencillo.
tengo que hacerlo de esta manera:
var get_data = function (tpl) {
$.get(url, function(data) {
$('#target_element').html(jade.render(tpl, {locals: data}));
});
};
if (!'template_name' in _cache) {
$.get('template_name', function(tpl) {
_cache['template_name'] = tpl;
get_data(tpl);
});
}
else {
get_data(_cache['template_name']);
}
(en este ejemplo, la plantilla y los datos se recuperan de forma sincrónica, lo que no es agradable)
Me gustaría tener un código de esta manera:
render_template('template_name', 'url?arguments=values', {replace: '#element_id'});
(que es similar a la sintaxis MongoDB)
¿Existe un marco simple o un módulo jquery para hacer este trabajo?
sólo tiene que utilizar su cargador asynch para obtener y almacenar en caché las plantillas para usted. – Raynos