2011-06-25 17 views
5

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?

+0

sólo tiene que utilizar su cargador asynch para obtener y almacenar en caché las plantillas para usted. – Raynos

Respuesta

1

no estoy seguro de si se ajusta a sus necesidades por completo, pero puro es un buen motor de plantillas para que usted pueda consder:

http://beebole.com/pure/

+0

interesante, gracias, pero no es exactamente lo que busco. He editado la pregunta para ser más exacto. –

Cuestiones relacionadas