快递& res.render将模板作为字符串传递

时间:2017-08-18 08:02:35

标签: express handlebars.js express-handlebars

我想执行res.render,但不是像这样传递模板文件:

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

我希望能够将模板作为字符串传递:

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

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

1 个答案:

答案 0 :(得分: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);