我正在创建一个应用程序,使用Mailchimp发送某些交易电子邮件。
这里有很好的文档:https://mailchimp.com/developer/api/transactional/messages/send-using-message-template/
但是我使用的是typescript,所以这行:
var mailchimp = require("mailchimp_transactional")("API_KEY");
不工作,我得到以下错误:
Error: Cannot find module 'mailchimp_transactional'
我知道这是一件小事,但我根本不知道如何绕过它。我在这里找到了一篇描述创建自己的类型文件的文章:@mailchimp/mailchimp_marketing/types.d.ts'不是nodeJs中的模块
但必须有一个更快更简单的解决方案。它也没有明确说明在这种情况下如何设置API密钥。
我尝试导入@mailchimp/mailchimp_transactional模块,但没有成功。我当然也运行npm install @mailchimp/mailchimp_transactional
任何帮助将不胜感激,这里是一个完整的样本只是以防万一它的帮助。
var mailchimp = require("mailchimp_transactional")("API_KEY");
export const testSendEmailFromTemplate = async () => {
let mcbody = {
template_name: "my-template",
template_content: [{
name:"firstname",
content:"INJECTED.BY.TEMPLATE.CONT.firstname"
},
{
name:"surname",
content:"INJECTED.BY.TEMPLATE.CONT.surname"
}],
message: {
to:{
email:"email@gmail.com",
name: "Test",
type: "to"
}
},
async:true
};
return await mailchimp.messages.sendTemplate(mcbody);
}
4条答案
按热度按时间yh2wf1be1#
如果有人不幸遇到这个问题,因为Mailchip的文档不符合 typescript 设置,并且您不确定如何使其“正常工作”,那么这里是答案:
这直接拉入javascript文件,然后第二行初始化对象。
祝大家好运!
0vvn1miw2#
截至2022年3月,这些类型已添加到DefinitelyTyped中,并且可以通过运行
npm install --save-dev @types/mailchimp__mailchimp_transactional
1wnzp6jl3#
我在node/Typescript项目中遇到了同样的问题,但这对我来说很有效:
const mailchimp = require('@ mailchimp/mailchimp_marketing')
public class MailchimpServices {
}
xfb7svmp4#
在2023年,我发现用 typescript 可以这样做:
import * as mailchimp from '@mailchimp/mailchimp_marketing';
或者只是
import mailchimp from '@mailchimp/mailchimp_marketing';
如果您在tsconfig中有
esModuleInterop: true
。然后: