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

GraphQL报错:MockList is not a constructor问题求助

解决apollo-server@3.12.0中MockList is not a constructor错误

问题原因

apollo-server@3.x 版本已不再内置导出MockList,该工具现在归属@graphql-tools/mock包维护,直接从apollo-server导入会导致找不到构造函数的错误。

解决方案

1. 安装依赖包

执行以下命令安装@graphql-tools/mock:

npm install @graphql-tools/mock --save-dev
# 或者使用yarn
yarn add @graphql-tools/mock -D

2. 修改导入路径

将原来从apollo-server导入MockList的代码:

import { MockList } from 'apollo-server';

替换为从@graphql-tools/mock导入:

import { MockList } from '@graphql-tools/mock';

3. 正常使用MockList

修改后即可正常创建模拟列表数据,示例代码:

const mocks = {
  Query: {
    users: () => new MockList(1, () => ({
      id: () => 'user_1',
      name: () => 'Test User'
    }))
  }
};

验证依赖配置

确保你的package.json中包含以下依赖(版本可根据实际情况调整):

{
  "dependencies": {
    "apollo-server": "^3.12.0"
  },
  "devDependencies": {
    "@graphql-tools/mock": "^9.0.0"
  }
}

报错堆栈说明

你遇到的MockList is not a constructor错误,本质是因为apollo-server@3.12.0的导出中已不存在MockList,导入后得到的是undefined,尝试作为构造函数调用自然会触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:37:05