node.js - используя сварку с экспресс? - PullRequest
9 голосов
/ 28 сентября 2011

Я новичок в node.js и пытаюсь использовать weld для рендеринга шаблонов на стороне сервера и использую экспресс в качестве маршрутизатора.

Однако приведены примеры для узла.js не показывает подачу контента, и я не совсем понимаю, как это будет работать с 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);
  }
);

Помощь или пример будут оценены.

1 Ответ

3 голосов
/ 16 октября 2011

Я думаю, что-то подобное будет работать. Хотя не проверял.

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