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

TypeScript从其他文件导入常量时出现Cannot find module错误的原因?

导入常量时模块找不到的问题解决

问题背景

我尝试从项目内另一个文件夹的文件中导入一个JSON主体常量,已经给常量加上了export关键字(写法为export const post_next_questions_request_body = {}),但主文件一直报模块找不到的错误,试了好几种路径都没解决。

错误细节

  • 原导入语句:
import {post_next_questions_request_body} from '..post-calls-bodies/post-next-questions';
  • 报错信息:
Cannot find module '..post-calls-bodies/post-next-questions' or its corresponding type declarations.
  • 已尝试的无效路径:
    • '..post-calls-bodies/post-next-questions'
    • '.post-calls-bodies/post-next-questions'
    • 'post-calls-bodies/post-next-questions'

核心修复方案

你最关键的错误是相对路径的语法写错了:点符号和文件夹名称之间必须加斜杠。相对路径的基础规则是:

  • ./ 指代当前文件所在的同级目录
  • ../ 指代当前文件所在目录的上级目录

结合你的文件结构(主文件位于tests/api-tests,post-calls-bodies是和tests同级的目录),正确的导入路径应该是:

import {post_next_questions_request_body} from '../../post-calls-bodies/post-next-questions';

如果主文件直接在tests文件夹下,路径简化为:

import {post_next_questions_request_body} from '../post-calls-bodies/post-next-questions';

额外排查点

  1. 核对目标文件名的拼写(包括大小写,Linux/macOS系统对文件名大小写敏感)
  2. 若为TypeScript项目,检查tsconfig.json里的baseUrl、paths配置是否干扰了相对路径解析
  3. 确认目标文件的扩展名(如.js/.ts),如果导入时省略了扩展名,要确保项目配置允许省略对应类型的扩展名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:37