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

在Apollo Server(TypeScript)中导入单独文件typeDefs时遇模块未找到错误

解决模块找不到的问题

排查方向1:确认编译输出文件存在

  • 检查dist/graphql目录下是否生成了schema.js(或对应扩展名的编译文件)
  • 核对tsconfig配置:
    • outDir是否正确指向dist目录
    • include数组是否包含src/graphql/schema.ts所在路径,比如设置"src/**/*"确保所有src下文件都被编译
    • 确认exclude列表没有意外排除graphql目录

排查方向2:修正导入路径(ES模块必填扩展名)

如果项目使用ES模块(tsconfig中module设为ESNext/ES2020等),Node.js要求导入必须带完整文件扩展名:

  • 原导入代码若为:import { typeDefs } from './graphql/schema'
  • 修改为:import { typeDefs } from './graphql/schema.js'
    (TS编译后生成.js文件,运行时Node.js需要明确指定扩展名才能找到文件)

排查方向3:核对文件和目录命名

  • 确认src目录结构为src/graphql/schema.ts,无拼写错误(Mac/Linux系统大小写敏感,注意Schema.ts和schema.ts是不同文件)
  • 检查编译脚本(如tsc命令)是否正常执行,无编译报错

额外检查

如果使用ts-node等工具,确保运行时指向dist目录下的编译文件,而非直接运行TS源文件(除非配置了对应模块解析规则)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:12:45