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

为什么配置了tsconfig后Typescript仍将`./build`文件识别为输入文件?

问题根因

TS5055报错的核心是Typescript将build目录下已生成的.d.ts文件识别成了编译输入文件,生成输出时路径和输入文件冲突导致的。虽然你配置了exclude: ["build/**/*"],但以下场景会绕过exclude规则:

  • 你的src目录下的代码存在主动导入build目录模块的语句,Typescript会将所有被入口文件引用的文件纳入编译范围,不受exclude限制
  • 你手动配置exclude时覆盖了TS默认排除的node_modules目录,依赖中的引用逻辑可能间接引入了build目录下的文件
  • 旧的build目录残留文件未清理,部分TS版本在增量编译场景下会误将已生成的输出文件识别为输入

排查&解决方案

  1. 先执行最简验证方案:删除build目录后重新编译,执行命令:
rm -rf build && yarn tsc

如果编译正常,说明是旧残留文件导致的问题,后续直接将编译脚本调整为预删除build目录即可。

  1. 如果删除后仍报错,排查src目录下所有导入语句,确认是否存在引用build目录的代码,可执行下面的命令快速检索:
grep -r "build/" src --include="*.ts"

找到对应导入语句后删除或修正路径即可。

  1. 上述操作无效的话,把node_modules加入tsconfig.json的exclude数组,避免依赖中的引用逻辑引入异常文件:
"exclude": [
    "**/__tests__/**/*",
    "build/**/*",
    "node_modules/**/*"
]
  1. 若仍未解决,升级Typescript到最新稳定版即可,部分旧版本TS存在exclude规则不生效的已知bug:
yarn add -D typescript@latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:45:04