Javascript ejs.renderFile结果转换为字符串
您好,我需要将ejs.renderfile结果转换为字符串,以便随后通过“SendGrid”服务通过邮件发送 emailTemplatCompany变量中有类似的内容:Javascript ejs.renderFile结果转换为字符串,javascript,node.js,promise,ejs,sendgrid,Javascript,Node.js,Promise,Ejs,Sendgrid,您好,我需要将ejs.renderfile结果转换为字符串,以便随后通过“SendGrid”服务通过邮件发送 emailTemplatCompany变量中有类似的内容: Promise { '<!DOCTYPE html>\r\n' + '<html lang="en">\r\n' + '<head>\r\n' + ' <meta charset="UTF-8">\r\n'
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' ........
}
承诺{
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
'正文{\r\n'。。。。。。。。
}
你能帮我找到解决这个问题的最佳答案吗
提前感谢您您可以使用
ejs.render
或ejs.renderFile
来执行此操作。这两种方法的区别在于render()
需要一个模板字符串作为输入,并且是同步的:
const resolvedTemplateAsStr = ejs.render(str, data);
renderFile()
需要模板文件的路径作为输入,并且是异步的:
const resolvedTemplateAsStr = await ejs.renderFile('./path/to/template.ejs', data);
您可以使用
ejs.render
或ejs.renderFile
来执行此操作。这两种方法之间的区别在于render()
需要一个模板字符串作为输入,并且是同步的:
const resolvedTemplateAsStr = ejs.render(str, data);
renderFile()
需要模板文件的路径作为输入,并且是异步的:
const resolvedTemplateAsStr = await ejs.renderFile('./path/to/template.ejs', data);
尝试
emailTemplatCompany。然后(str=>console.log(str))
通过查看文档,您还可以执行ejs.renderFile(文件名、数据、选项、函数(err、str){//str=>Rendered HTML string});
TryemailTemplatCompany。然后(str=>console.log(str))
通过查看文档,您还可以执行ejs.renderFile(文件名、数据、选项、函数(err、str){//str=>Rendered HTML string});