【发布时间】:2021-03-16 15:31:01
【问题描述】:
我正在创建一个使用 Mailchimp 发送某些交易电子邮件的应用程序。
他们在这里有很棒的文档:https://mailchimp.com/developer/api/transactional/messages/send-using-message-template/
但我使用打字稿,所以行:
var mailchimp = require("mailchimp_transactional")("API_KEY");
不起作用,我收到以下错误:
Error: Cannot find module 'mailchimp_transactional'
我知道这是一件小事,但我完全不知道如何解决它。我在这里找到了一篇描述创建自己的类型文件的文章:@mailchimp/mailchimp_marketing/types.d.ts' is not a module in 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);
}
【问题讨论】:
-
您的问题似乎与您的标题无关。特别是,这个问题没有“导入与要求”方面。
-
问题是该模块没有安装在您尝试使用它的位置(在服务器上,对吗?),或者您的配置未设置为在任何位置查找模块 已安装。
-
@T.J.Crowder 很好的接机thanx。我说,因为我相当确定我应该使用 Import 代替,但 mailchimp 文档没有指定如何做到这一点。我编辑了问题以包含它。我也安装了这个包,我还在本地运行这个
-
您当然不能像以前那样组合它们(使用
require进行导入,但使用export声明进行导出)。您使用哪个是您的项目的选择,由您的项目选项控制。 -
@T.J.Crowder 关于如何正确导入它有什么建议吗?
标签: node.js typescript import require mailchimp