15

jade テンプレート ファイルにビュー ロジックがあります。モデルを jade に渡し、さらにメールで送信するための html を取得するにはどうすればよいですか?

4

4 に答える 4

26

次のことを試すことができます。

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

fs.readFile('template.jade', 'utf8', function (err, data) {
    if (err) throw err;
    console.log(data);
    var fn = jade.compile(data);
    var html = fn({name:'Oleg'});
    console.log(html);
});

template.jadeテンプレートへのパスはどこにありますか。そしてそれはこのように見えます:

!!!
html
  head
    title= 'Hello world'
  body
    p Hello #{name}!

したがって、モデルをfn()関数の入力として渡すと、その出力はhtmlになります。

<!DOCTYPE html><html><head><title>Hello world</title></head><body><p>Hello Oleg!</p></body></html>
于 2012-11-13T14:54:30.147 に答える
13

また、レンダー コールバックから文字列をキャッチすることもできます (簡単な例)。

exports.test1 = function(req, res){
  res.render('test1', { title: 'test1' }, function(err, body) {
    console.log(body);
  });

  res.send('wooo');
};

test1.jade

div
  = title
p hello world!
于 2013-05-03T12:35:17.080 に答える