You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Mailchimp API时遇TypeError: Mailchimp is not a constructor错误如何解决?

解决Mailchimp "TypeError: Mailchimp is not a constructor" 错误

问题根源

你使用的@mailchimp/mailchimp_marketing库不提供可实例化的Mailchimp构造函数,官方文档的正确用法是通过全局配置初始化,而非创建类实例。

具体修复步骤

  1. 修改导入与初始化逻辑
    替换原有的解构导入和实例化代码,改用全局配置的方式初始化Mailchimp:

    const express = require('express');
    const bodyParser = require('body-parser');
    const cors = require('cors');
    // 直接导入整个模块,无需解构Mailchimp
    const mailchimp = require('@mailchimp/mailchimp_marketing');
    
    const app = express();
    app.use(bodyParser.json());
    app.use(cors());
    
    // 用setConfig初始化,替代new Mailchimp()
    mailchimp.setConfig({
      apiKey: 'API_KEY_IS_HERE',
      server: 'YOUR_SERVER_PREFIX' // 从API密钥末尾提取,比如密钥是xxx-us15,这里填us15
    });
    
  2. 保留原有API调用逻辑
    配置完成后,原有的addListMember调用无需修改,直接使用模块导出的方法即可:

    app.post('/api/subscribe', async (req, res) => {
      const { email } = req.body;
    
      try {
        const response = await mailchimp.lists.addListMember('AUDIENCE_KEY_IS_HERE', {
          email_address: email,
          status: 'subscribed',
        });
    
        res.json({ message: 'Successfully subscribed!' });
      } catch (error) {
        console.error('Error subscribing:', error);
        res.status(500).json({ error: 'Subscription failed.' });
      }
    });
    

额外注意事项

  • 服务器前缀必须和API密钥的后缀一致,比如API密钥为abcdef12345-us20,则server值为us20;
  • 若后续仍有问题,可尝试更新依赖包:npm update @mailchimp/mailchimp_marketing

内容的提问来源于stack exchange,提问作者Shriyans Pranay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:59:51