【发布时间】:2018-11-13 01:41:39
【问题描述】:
我的问题很简单:我想编译一个 Handlebars 视图然后不渲染它——相反我想使用编译后的 HTML 服务器端。在研究这个问题时,this 是我能找到的最接近我的问题的,但除非我有误解,否则他们在这个问题上所做的一切都是在服务器端创建一个 HTML 字符串并用数据填充它。这是不够的,因为我不想创建任何 HTML 字符串,我真的想像往常一样将我的 HTML 存储在 .hbs 文件中,然后编译一个视图(即发送我的变量),而不是显示它一个用户(无论如何都不可能,因为它只是一个 API 服务器),我想让编译后的 HTML 将其发送到 Mailgun(但我想将它发送到 Mailgun 的事实超出了范围,答案应该最好只告诉我如何编译视图并能够(例如)console.log() HTML)。
我正在使用 Node v9.8.0
包:
- 正文解析器:1.18.3
- cors:2.8.4,
- dotenv:5.0.1,
- 快递:4.16.3,
- hbs:4.0.1
- 时刻:2.22.1
如果我需要提供任何其他信息,请告诉我,我没有包含任何我尝试过的示例代码的原因是我根本不知道该尝试什么。我所尝试的只是在我的路线中使用let emailHtml = res.render('email/contactReceipt.hbs', { name:req.body.name }),但这给了我错误Cannot set headers after they are sent to the client。
旁注:我对 Node.js 还很陌生,它不是我正常堆栈的一部分。我注意到其他人使用包'express-handlebars'甚至只是'handlebars',所以如果我使用的('hbs')实际上与Handlebars没有任何关系,或者如果我不能完成我正在尝试做的事情,让我知道。
【问题讨论】:
标签: javascript html node.js handlebars.js