2011-09-28 20 views
9

Soy nuevo en node.js e intento utilizar weld para representar plantillas en el lado del servidor y usar express como enrutador.node.js - utilizando soldadura con express?

Sin embargo, los ejemplos para Node.js no muestra servir el contenido, y estoy difuso sobre cómo funcionaría con expreso:

var fs = require('fs'), 
jsdom = require('jsdom'); 

jsdom.env(
    './test.html', 
    ['./jquery.js', './weld.js'], 
    function(errors, window) { 
    var data = [{ name: 'hij1nx', title : 'code slayer' }, 
       { name: 'tmpvar', title : 'code pimp' }]; 
    window.weld(window.$('.contact')[0], data); 
    } 
); 

ayuda o ejemplo sería apreciada.

+0

Interesante, no he visto esto antes. No estoy seguro de cómo me siento al respecto ... – Chance

+0

Sí, me gustaría que esto funcione para el nodo, ya que es similar al enfoque de Wicket, que realmente me gustó para las aplicaciones de Java. – 7zark7

+2

Plates (también por nodejitsu) es la nueva Weld: https://github.com/flatiron/plates – timoxley

Respuesta

3

Creo que algo así podría funcionar. Aunque no he probado.

var fs = require('fs'), 
    jsdom = require('jsdom'), 
    app = require('express').createServer(); 

app.get('/', function(req, res) { 

    jsdom.env('./test.html', ['./jquery.js', './weld.js'], function(errors, window) { 
     var data = [{ 
      name : 'hij1nx', 
      title : 'code slayer' 
     }, { 
      name : 'tmpvar', 
      title : 'code pimp' 
     }]; 
     window.weld(window.$('.contact')[0], data); 
     res.send(window.document.innerHTML); //after the welding part we just send the innerHTML 
     window.close(); // to prevent memory leaks of JSDOM 
    }); 

}); 
app.listen(3001); 
+0

Gracias amigo, funciona muy bien. Apreciado y aceptado. Aunque una pregunta menor es por qué la necesidad de [0] índice? Supuse que esto era jQuery, que no requiere el índice para los selectores que devuelven un valor. – 7zark7

+0

No soy un usuario experimentado con JQuery y no estoy seguro de por qué, pero para los selectores de clase y los selectores de id devuelve una matriz, aunque podrían ser una. –

Cuestiones relacionadas