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

运行yarn start启动ts-node项目时MODULE_NOT_FOUND无法找到src/isAuth模块

问题原因

首先明确:该报错和const函数的导出写法没有任何关系,核心是模块导入路径的解析规则不匹配导致的。
具体原因拆解:

  • 你在tsconfig.json中配置了baseUrl: ".",TS编译期识别src/isAuth这类基于根目录的绝对导入路径是正常的,但ts-node运行时默认不会读取tsconfig的baseUrl配置,遵循的是node commonjs的模块解析规则:会优先从node_modules目录下查找src/isAuth模块,自然找不到报MODULE_NOT_FOUND错误。
  • 同目录的MyContext.ts导入未报错,是因为你用的是./MyContext这类相对路径写法,符合node的路径解析规则。
  • 额外排查点:如果已经用了相对路径还是报错,检查导入语句中的文件名大小写是否和实际的isAuth.ts完全一致,避免大小写不匹配的问题。
解决方法

提供两种可行方案,按需选择即可:

方案1:改用相对路径导入(无需修改配置,更稳妥)

直接修改person.resolver.ts中导入isAuth的语句,按文件相对位置写路径即可:
如果person.resolver.ts和isAuth.ts都在src根目录下,导入语句改为:

import { isAuth } from './isAuth'

如果person.resolver.ts在src的子目录中(比如src/resolvers/),则对应调整为../isAuth即可。

方案2:配置ts-node识别tsconfig路径规则(无需修改现有导入写法)

安装tsconfig-paths依赖,用于运行时解析tsconfig中配置的baseUrl:

yarn add -D tsconfig-paths

修改package.json中的start启动命令,增加注册参数:

"start": "ts-node -r tsconfig-paths/register src/index.ts"

修改后重新运行yarn start即可正常识别绝对导入路径。


内容的提问来源于stack exchange,提问作者Dr4ke the b4dass

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:15:05