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

TypeScript构建错误TS6305:输出文件未从源文件构建求助

解决TS6305错误:输出文件未从源文件构建

错误原因分析

这个问题是因为两个TypeScript配置文件(tsconfig.json和tsconfig.node.json)重复将src应用源码目录纳入处理范围,再加上主配置的noEmit: true设置,导致TypeScript在处理项目引用时出现逻辑冲突:它期望src下的文件被构建生成输出,但主配置明确禁止了文件输出,而node配置错误地越界处理了应用源码。


解决方案

步骤1:修正tsconfig.node.json的处理范围

tsconfig.node.json的职责是处理Node环境相关文件(比如vite.config.ts、自定义脚本、插件),不应包含应用源码目录src。修改其include字段:

{
    "compilerOptions": {
        "composite": true,
        "skipLibCheck": true,
        "module": "ESNext",
        "moduleResolution": "bundler",
        "jsx": "react-jsx",
        "paths": {
            "~src/*": ["./src/*"],
            "~assets/*": ["./src/assets/*"],
            "~pages/*": ["./src/pages/*"],
            "~public/*": ["./src/public/*"]
        },
        "allowSyntheticDefaultImports": true
    },
    "include": ["vite.config.ts", "scripts", "plugins"]
}

步骤2:清理残留的.d.ts文件

如果src目录下存在手动生成或遗留的.d.ts文件(比如报错提到的src/utilities/functions.d.ts),直接删除它们。这类文件会干扰TypeScript的类型推导逻辑,导致它错误判定输出文件与源文件不匹配。

步骤3:重新执行构建命令

运行tsc && vite build即可:

  • tsc会使用主tsconfig.json执行类型检查(因noEmit: true不会生成任何文件)
  • vite build负责编译打包应用代码
  • 两个配置文件的处理范围完全分离,不会再出现冲突错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:37:38