从服务器端的Handlebars模板获取HTML代码

时间:2015-03-21 10:18:54

标签: node.js express handlebars.js

我的NodeJS应该从用户发送html电子邮件通知。为了保持代码干净,我想从手把模板中获取这些电子邮件的HTML代码,而不是将HTML代码硬编码到sendEMail方法中(这看起来很简单)。

我需要服务器从那些.handlebars文件中获取HTML,但这不起作用。以下是我尝试获取HTML代码的方法

var handlebars = require('express-handlebars').create({});
var context = {
        title: 'T'
    }
var template = handlebars.render('../views/emails/passwordReset.handlebars', context);

console.log(template);

Console.log(template)正在返回{}

这是.handlebars代码:

<h1>{{title}}</h1>

任何人都可以就此代码的错误提供指导吗?

1 个答案:

答案 0 :(得分:1)

handlebars.render不会返回呈现的文字;相反,它返回 promise 。您可以订阅promise的成功事件以获得输出:

handlebars.render('test.handlebars', context)
    .then(function(data) {
        console.log(data);
    })
    .catch(function(err) {
        console.error(err);
    });