2011-09-28 82 views
9

我是新來的node.js,並嘗試使用weld在服務器端呈現模板並使用express作爲路由器。node.js - 使用快速焊接?

然而,對於node.js的例子並不表示作爲內容,以及是如何這將與快遞工作模糊:

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

幫助或例子將不勝感激。

+0

有趣的是,我以前沒有見過這個。不知道我對此感覺如何。 – Chance

+0

是的,我想讓這個節點工作,因爲它類似於Wicket的方法,我真的很喜歡Java應用程序。 – 7zark7

+2

板(也由nodejitsu)是新的焊接:https://github.com/flatiron/plates – timoxley

回答

3

我覺得像這樣的東西會起作用。雖然沒有測試過。

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

感謝隊友,偉大的作品。讚賞和接受。儘管一個小問題是爲什麼需要[0]索引?我認爲這是jQuery,它不需要返回一個值的選擇器的索引。 – 7zark7

+0

我不是一個有經驗的用戶使用JQuery,但不知道爲什麼,但是對於類選擇器和id選擇器,它返回並排列數組,儘管它們可能是一個。 –