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

我的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> 

任何人都可以提供这个代码有什么问题的指导?

handlebars.render不会返回呈现的文本; 相反,它返回一个承诺 。 你可以订阅承诺的成功事件来获得输出:

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