2011-09-28 19 views
9

私はnode.jsが新しく、weldを使用してサーバ側でテンプレートをレンダリングし、expressをルータとして使用しようとしています。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); 
    } 
); 

ヘルプや例がいただければ幸いです:Node.jsのための例では、コンテンツを提供示しており、これは急行でどのように動作するかにあいまいだしないただし

+0

興味深いことに、これまで私はこれを見ていませんでした。私がそれについてどのように感じているのかわからない。 – Chance

+0

Wicketのアプローチに似ているので、これはノードのために働くことを望んでいる。これはJavaアプリケーションにとって本当に好きだった。 – 7zark7

+2

プレート(nodejitsuも)は新しいWeldです: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

ありがとう。感謝と受け入れ。 1つのマイナーな質問がなぜ[0]インデックスの必要性ですか?私はこれがjQueryであると仮定しました。これは、1つの値を返すセレクタのインデックスを必要としません。 – 7zark7

+0

私はJQueryの経験豊かなユーザーではなく、その理由をよく理解していませんが、クラスセレクタとIDセレクタの両方で、それらが返されて配列になる可能性があります。 –

関連する問題