gpt4 book ai didi

node.js - 使用 lodash ._template 发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:41 25 4
gpt4 key购买 nike

我正在尝试使用 lodash _.template 通过 Node.js 创建 HTML 电子邮件模板。当我使用下面的代码时,出现此错误:((__t = (firstName)) == null ? '' : __t) +

对我做错了什么有什么想法吗?另外,是否应该只为所有动态字段编译一个模板?

var firstName = _(contactinfo).pluck('firstName');
var compiledFirst = _.template('template with <%= firstName %>!');
var htmlFirst = compiledFirst(firstName);

var lastName = _(contactinfo).pluck('lastName');
var compiledLast = _.template('template with <%= lastName %>!');
var htmlLast = compiledLast(lastName);

var data = {
from: store@example.com,
to: email,
subject: 'Your Order Confirmation',
html: '<p>Dear '+ htmlFirst + htmlLast+': '</p><br>
<p>Thank you for your order. . . </p><table><tr>
<thead><th><strong>Items</strong></th></thead></tr></table>'
}

数组如下所示:

[
{
"address": "555 Broadway",
"city": "New York",
"email": "johndoe@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "2125551212",
"state": {
"code": "NY",
"state": "New York"
},
"value1": true,
"zip": "10001",
"$id": "-K-qmfZzHgQaEM7uHKEK",
}
]

最佳答案

请注意pluck返回一个数组,其中包含数组中所有对象的firstName(或选择的属性)。不仅如此,您还必须在模板中命名该对象:

var firstName = _(contactinfo).pluck('firstName');
var compiledFirst = _.template('template with <%= firstName %>!');
var htmlFirst = compiledFirst({firstName: firstName[0]});

仅使用一个模板并将 contactInfo 对象传递给该模板可能会更容易:

var htmlAll = _.template('<%= firstName %> <%= lastName %>')(contactInfo[0])

请记住,这只会获取第 0 个 contactInfo 条目。如果您想要多个,您可能需要迭代——不过您也可以在 lodash 模板中执行此操作。

关于node.js - 使用 lodash ._template 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32959757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com