ejs.renderFile 结果转换为字符串

ejs.renderFile result convert to string

你好,我需要将 ejs.renderfile result 转换为 string 以便随后通过“SendGrid”通过邮件发送服务

const emailTemplatCompany = ejs.renderFile(// options)

emailTemplatCompany 变量中有这样的东西:

Promise {
  '<!DOCTYPE html>\r\n' +
    '<html lang="en">\r\n' +
    '<head>\r\n' +
    '    <meta charset="UTF-8">\r\n' +
    '    <meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n' +
    '    <style>\r\n' +
    '        body{\r\n' ........
}

你能帮忙找到解决这个问题的最佳答案吗

提前致谢

您可以使用 ejs.renderejs.renderFile 来执行此操作。这两种方法的区别在于 render() 需要模板字符串作为输入并且是同步的:

const resolvedTemplateAsStr = ejs.render(str, data);
renderFile() 需要模板文件的路径作为输入并且是异步的:

const resolvedTemplateAsStr = await ejs.renderFile('./path/to/template.ejs', data);