2011-09-28 12 views
9

Jestem nowy w węźle node.js i próbuję użyć weld do renderowania szablonów po stronie serwera i używania ekspresowego jako routera.node.js - używając spoiny z ekspresowym?

Jednak przykłady node.js nie pokazuje obsługujących treść i jestem zamazany, w jaki sposób to będzie działać z Express:

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); 
    } 
); 

Pomoc lub przykładem byłoby mile widziane.

+0

Ciekawe, nie widziałem tego wcześniej. Nie jestem pewien jak się z tym czuję ... – Chance

+0

Tak, chciałbym, żeby to działało dla węzła, ponieważ jest podobne do podejścia Wicket, które bardzo podobało mi się w aplikacjach Java. – 7zark7

+2

Talerze (również przez nodejitsu) to nowy Weld: https://github.com/flatiron/plates – timoxley

Odpowiedz

3

Myślę, że coś takiego by się udało. Nie testowałem jednak.

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

Dzięki kolega, działa świetnie. Docenione i zaakceptowane. Chociaż jedno drobne pytanie brzmi, dlaczego potrzeba [0] indeksu? Założono, że jest to jQuery, która nie wymaga indeksu dla selektorów, które zwracają jedną wartość. – 7zark7

+0

Nie jestem doświadczonym użytkownikiem z JQuery i nie jestem pewien dlaczego, ale dla obu selektorów klas i selektorów id zwraca i tablicę, mimo że mogą być jednym. –

Powiązane problemy