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

TSX导入JSON报错:已配置resolveJsonModule仍找不到模块

TSX 文件导入本地 JSON 模块报错排查步骤

1. 修正导入语句的基础语法错误

你当前写的导入代码 import data './location' 不符合ES模块规范,缺少了必须的from关键字,完整的导入基础结构为:
import [自定义导入变量名] from [真实模块路径]

2. 修正模块路径的指向问题

你写的./location是占位路径,没有实际定位到你的data.json文件,需要根据两个文件的实际相对位置调整路径:

  • 如果data.json和当前tsx文件在同一目录,路径替换为./data.json
  • 如果data.json在当前tsx文件的上级目录,路径替换为../data.json
  • 注意路径大小写、斜杠方向要和实际文件系统完全匹配,避免因路径匹配失败触发模块找不到的报错

3. 补全tsconfig.json的配套配置检查

你已经开启的resolveJsonModule: true、esModuleInterop: true是导入JSON的必要配置,还需要确认以下配置项没有问题:

  • 确认include字段覆盖了存放tsx文件和data.json的目录:常见默认配置为"include": ["src"],如果你的JSON文件放在src目录外(比如项目根目录、public目录),就会因被TS编译流程排除而触发找不到模块的报错
  • 确认moduleResolution配置值为"node"或"bundler",旧的"classic"解析模式不支持JSON模块的路径查找逻辑
  • 所有tsconfig.json的配置修改完成后,必须重启本地TS服务(例如VS Code环境下通过命令面板执行「TypeScript: Restart TS Server」),未重启的情况下旧的缓存配置会持续触发类型找不到的报错

正确的导入示例(同目录场景)

import data from './data.json';

// TS 会自动根据JSON内容推导结构类型,无需手动写类型声明
console.log(data[0].subpage); // 自动匹配到 "FirstA" 的提示

注意:用于导入的JSON文件必须放在TS编译的覆盖范围内,不要把需要import的JSON放在public静态资源目录,该目录的文件不会被TS模块解析流程识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 13:45:03