Express & res.render 将模板作为字符串传递
Express & res.render passing the template as string
我想执行 res.render,但不是像这样将模板文件作为参数传递:
res.render('index.hbs', { a: 'B' });
我希望能够像这样将模板作为字符串传递:
let template = '{{ a }}'
res.render(template, { a: 'B' });
上面的代码显然不起作用,因为 res.render 只接受文件 path/name。关于如何实现这一点有什么想法吗?
您可以先渲染您的模板
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);
我想执行 res.render,但不是像这样将模板文件作为参数传递:
res.render('index.hbs', { a: 'B' });
我希望能够像这样将模板作为字符串传递:
let template = '{{ a }}'
res.render(template, { a: 'B' });
上面的代码显然不起作用,因为 res.render 只接受文件 path/name。关于如何实现这一点有什么想法吗?
您可以先渲染您的模板
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);