Creo que realmente depende del tipo de aplicación que está escribiendo. Si tiene una página que sirve principalmente páginas individuales, y que se adapta a su molde CRUD/MVC típico, puede que no sea un problema. Sin embargo, si estás escribiendo algo dinámico con una tonelada de ajax, es un problema :-)
Siento tu dolor - He sido mordido por esto unas cuantas veces en varias pilas. Terminé haciendo todos mis enlaces de lista con llamadas asincrónicas en el navegador que se ejecuta después de que se cargue la página principal. Es algo que apesta, porque te gusta esa primera solicitud para que venga con una página de datos de lista pre-enlazados, pero la página subsiguiente será impulsada por llamadas ajax. Simplemente no quiero escribir cosas de plantilla una vez para el servidor y una vez para el cliente.
No creo/Jade admite ese tipo de vinculación del lado del cliente. La buena noticia es que hay algunos lenguajes de plantillas populares que funcionan tanto en el servidor como en el navegador. Los dos que conozco son:
no he visto a nadie usando placas con expreso, ya que forma parte del proyecto flatironjs qué tipo de cuenta su propio marco de crecimiento está en marcha. Hay un montón de ejemplos que hay de usar bigote y ejs con expreso:
En una nota lateral, he aquí una lista de los paquetes de plantillas para el nodo en el sitio de Joyent:
https://github.com/joyent/node/wiki/modules#wiki-templating
Mi sugerencia es comenzar con EJS - que es un poco más a la tierra con su sintaxis no HAML-esque, admite el enlace de cliente y servidor, y parece ser bien aceptado en la pila exprés.
Happy Coding!
Gracias, eso fue útil. Por "enlaces de lista", ¿te refieres a "poblar con datos"? Además, parece sugerir que solo trabaja con plantillas del lado del cliente, de modo que no es necesario reescribirlas para el servidor. Entonces, ¿por qué seleccionó lenguajes de plantillas que funcionan tanto en el cliente como en el servidor? – Randomblue
Cuando digo bindings de lista, me refiero a hacer una solicitud de una lista de datos (generalmente json/xml, paginado), aplicar esa estructura de datos a una plantilla y representar el html para el cliente. No estoy sugiriendo que solo use plantillas del lado del cliente; la razón por la que señalé las que funcionan en ambos es que me gusta tenerlas disponibles en ambos casos. –
Por ejemplo, me gusta tener una plantilla para un elemento de lista en un repetidor. Usar esto en el cliente funciona muy bien: solicita una página de datos y la vincula en el cliente. ¿Qué sucede cuando quiero usar la misma plantilla en un encabezado de página? Seguramente no voy a hacer una solicitud de HTTP solo para esa información de encabezado, pero no quiero escribir la misma plantilla nuevamente solo para este uso. Aquí es donde las plantillas de doble propósito se vuelven increíbles. (perdón por la publicación súper larga) –