Иду по туториалу node.js В уроках используется pug, я же пользуюс hbs. Более менее успешного переводил, пока не столкнулся с проблемой рендеринга письма. В самом уроке такой код
const nodemailer = require('nodemailer');
const pug = require('pug');
const juice = require('juice');
const htmlToText = require('html-to-text');
const promisify = require('es6-promisify');
const transport = nodemailer.createTransport({
host: process.env.MAIL_HOST,
port: process.env.MAIL_PORT,
auth: {
user: process.env.MAIL_USER,
pass: process.env.MAIL_PASS
}
});
const generateHTML = (filename, options = {}) => {
const html = pug.renderFile(`${__dirname}/../views/email/${filename}.pug`,
options);
const inlined = juice(html);
return inlined;
};
exports.send = async (options) => {
const html = generateHTML(options.filename, options);
const text = htmlToText.fromString(html);
const mailOptions = {
from: `Wes Bos <noreply@wesbos.com>`,
to: options.user.email,
subject: options.subject,
html,
text
};
const sendMail = promisify(transport.sendMail, transport);
return sendMail(mailOptions);
};
Ну и собственно при клике на кнопку пользователю формируеться из шаблона письмо с данными из (options). Я вот не пойму как мне также повторить renderFile, только для hbs вида файлов...