2017-08-18 98 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);