tsconfig.json: Build:No inputs were found in config file — 如何修复

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言:为什么 TypeScript 找不到我的文件?

\n\n

您打开一个 TypeScript 项目,启动构建,然后突然——砰!——一盆冷水浇下来,出现消息:tsconfig.json: Build:No inputs were found in config file。熟悉吗?如果您曾经配置过 TypeScript,那么您很可能见过这个错误。它吓唬新手,也惹恼专业人士。但别急着抓狂或咒骂微软。

\n\n

在本文中,我们不仅会展示如何快速消除这个错误。我们还会剖析它的本质:它为什么会出现,哪些场景会导致它,以及如何配置 tsconfig.json 让您再也看不到这条消息。这对刚开始学习 TypeScript 的人和想更深入了解编译器机制的人都很有用。

\n\n

是的,我们将用中文生动地讲解,并附上示例。开始吧!

\n\n

错误 "Build:No inputs were found in config file" 是什么意思?

\n\n

如果用人类语言翻译编译器语言,TypeScript 在告诉您:"我不知道要编译哪些文件。您让我构建项目,但没有指定源代码在哪里。" 编译器 tsc 会查找 .ts 和 .tsx 文件,但在您(或它自己)指定的目录中一个也找不到。

\n\n

这个错误通常出现在两种典型情况下:

\n
    \n
  • 您刚刚在空文件夹中创建了 tsconfig.json。
  • \n
  • 您错误地配置了 include、exclude 或 rootDir 字段。
  • \n
\n\n

让我们详细分析每个原因,这样您不仅能复制解决方案,还能理解它为什么有效。

\n\n

原因 #1:项目中没有任何 TypeScript 文件

\n\n

这是最平凡但也最常见的原因。您在一个没有任何 .ts 文件的文件夹中创建了 tsconfig.json。编译器诚实地查找——但什么也没找到。

\n\n

问题示例:

\n
my-project/\n├── tsconfig.json\n└── (什么都没有了)
\n\n

运行 npx tsc——然后得到错误。解决方案显而易见:至少创建一个 index.ts 文件。

\n\n

如何修复:

\n
my-project/\n├── tsconfig.json\n├── src/\n│   └── index.ts   # <-- 它来了,救星!
\n\n

但是,如果文件存在而错误仍然出现呢?那我们就得深入挖掘了。

\n\n

原因 #2:include 字段中的路径指定错误

\n\n

tsconfig.json 中的 include 字段告诉编译器:"在这里查找文件"。如果您指定了一个不存在的文件夹或路径写错了,编译器将什么也找不到。

\n\n

错误配置:

\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "outDir": "./dist"\n  },\n  "include": ["src/**/*"]  // 而 src 文件夹并不存在!\n}
\n\n

在这个例子中,src 文件夹不存在。编译器诚实地尝试根据模式 src/**/* 查找文件,找不到——然后报错。

\n\n

如何修复:

\n
    \n
  • 检查您在 include 中指定的文件夹是否存在。
  • \n
  • 确保该文件夹中有 .ts 或 .tsx 文件。
  • \n
  • 使用相对路径。如果您的 tsconfig.json 在根目录,而源代码在 src/ 中,请写 "src/**/*"。
  • \n
\n\n

正确配置:

\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "outDir": "./dist"\n  },\n  "include": ["src/**/*"]\n}\n// 确保 src 文件夹存在并包含 .ts 文件
\n\n

原因 #3:include 和 exclude 之间的冲突

\n\n

有时您在 include 中指定了一个文件夹,但随后在 exclude 中将其排除

博客

书籍推荐