2017-08-18 61 views
0

我想执行res.render,但不是通过模板文件作为参数是这样的:快递&res.render传递模板字符串

res.render('index.hbs', { a: 'B' }); 

我希望能够通过模板作为一个字符串:

let template = '{{ a }}' 
res.render(template, { a: 'B' }); 

上面的代码显然不工作,因为res.render只接受文件路径/名称。有关如何实现这一目标的任何想法?

回答

1

可以渲染模板第一

var handlebars = require('handlebars'); 

// set up your handlebars template 
var source = '{{ a }}'; 

// compile the template 
var template = handlebars.compile(source); 

// call template as a function, passing in your data as the context 
var outputString = template({ a: 'B' }); 

然后将输出发送到客户端

res.send(outputString);