0
我的目標是在我正在構建的Express 4應用程序中提供一個簡單的活動api端點(使用res.json()
),該應用程序將Handlebars模板與數據和返回一個字符串,然後替換HTML客戶端。替代fs.readFile在Express中使用res.json時加載Handlebars模板
我遇到的問題是,當我傾向於使用與用於顯示常規視圖相同的機制時,目前我不得不使用fs.readFile()
來讀取模板的Handlebars內容。這可能以某種方式嗎?
下面是一個基本的例子;
數據端點(JSON):
{
"title": "Page Title"
}
template.hbs
<h1>{{ title }}</h1>
現場端點(JSON)我的路由響應中
{
"tpl": "<h1>Page Title</h1>
}
功能
var api = {};
fs.readFile('template.hbs', 'utf8', function(err, tpl) {
var template = hbs.compile(tpl);
// data here is the value returned from the data endpoint above
api.tpl = template(data);
res.json(api);
});
我甚至可能不需要擔心這個,因爲也許這是所有車把手在引擎蓋下做的,但我只是想知道是否有一個我不知道的簡單方法。