Node.js 从服务器端的Handlebar模板获取HTML代码

Node.js 从服务器端的Handlebar模板获取HTML代码,node.js,express,handlebars.js,Node.js,Express,Handlebars.js,我的NodeJS应该发送来自用户的html电子邮件通知。为了保持代码干净,我想从Handlebar模板中获取这些电子邮件的HTML代码,而不是将HTML代码硬编码到sendEMail方法中(这看起来很难看) 我需要服务器从那些.handlebar文件中获取HTML,但这不起作用。下面是我如何尝试获取HTML代码的 var handlebars = require('express-handlebars').create({}); var context = { title: 'T

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

我需要服务器从那些.handlebar文件中获取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(模板)
正在返回
{}

以下是.handlebar代码:

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

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

车把。渲染不返回渲染文本;相反,它回报了一个承诺。您可以订阅promise的成功事件以获得输出:

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

谢谢你的回答。不幸的是,我添加了“then”函数,但是“console.log(data)”从未在调试器中被调用。有什么想法吗?试着添加一个
catch
处理程序,看看承诺是否没有得到解决。将更新我的答案。