My NodeJS应该发送来自用户的html电子邮件通知。为了保持代码的整洁,我想从handlebas模板中获得这些电子邮件的HTML代码,而不是将HTML代码硬编码到sendEMail方法中(这看起来很难看)。
我需要服务器从那些.hubbars文件中获取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)
正在返回{}
这是车把代码:
<h1>{{title}}</h1>
有人能就这个代码的问题提供指导吗?
handlebars.render
不返回渲染的文本;相反,它返回一个承诺。您可以订阅promise的成功事件以获得输出:
handlebars.render('test.handlebars', context)
.then(function(data) {
console.log(data);
})
.catch(function(err) {
console.error(err);
});