TypeScript 修复错误 No inputs were found in config file
当我们尝试构建一个不包含任何 TypeScript 文件的项目时,会出现错误“No inputs were found in config file”。 要解决此错误,需要在项目的根目录中添加一个扩展名为 .ts 的空文件,并在必要时重新启动 IDE。
$ tsc
error TS18003: No inputs were found in config file '/Users/zadmei/workspace/ts/tsconfig.json'. Specified 'include' paths were '["src/**/*"]' and 'exclude' paths were '["node_modules"]'.
Found 1 error.
我们需要做的第一件事是确保项目至少包含一个扩展名为 .ts
的文件。
如果没有,我们可以创建一个带有 .ts
扩展名的空文件来消除错误。
创建一个名为 placeholder.ts
的文件,其内容如
export {};
如果在 tsconfig.json
文件中设置了 include 数组,请确保在指定目录中创建该文件。
{
"compilerOptions": {
// ... 配置项
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
例如,上面 tsconfig.json
文件中的 include 数组在 src 目录中查找文件,因此我们必须在 src 中创建占位符文件。
如果我们尚未设置 include 数组,请在项目的根目录(tsconfig.json 旁边)中创建占位符文件。
如果项目中已有文件,请重新启动 IDE 和 TypeScript 服务器。
VSCode 经常出现故障并需要重新启动。 在这种情况下,请打开一个扩展名为 .ts
或 .js
的文件,然后重新启动编辑器以获取它。
导致错误的另一件事是,如果我们错误地将 TypeScript 项目中的所有文件添加到 exclude 数组中。
{
"compilerOptions": {
// ... 配置项
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
如果我们未设置 include 数组设置,则如果未指定文件设置,则默认为 **
,否则为空数组 []
。
确保仅排除要过滤掉的文件。 如果有一个与项目中所有文件匹配的 exclude 模式,那就是错误的原因。
大多数时候,TypeScript 只需要一个项目的入口点就可以成功编译并解决错误。
如果我们没有在项目中使用 TypeScript,但仍然出现错误,并且重新启动 IDE 没有帮助,则可以在项目的根目录中创建一个 tsconfig.json
文件来简单地消除错误。
{
"compilerOptions": {
"allowJs": false,
"noEmit": true
},
"exclude": ["src/**/*", "your-other-src/**/*"],
"files": ["placeholder.ts"]
}
并在 tsconfig.json
文件旁边创建一个 placeholder.ts
文件。
placeholder.ts
export {};
重新启动 IDE,错误应该得到解决。
上面示例中的 tsconfig.json
文件看起来要从编译中排除所有源文件,并且只需要一个文件作为示例中的入口点 (placeholder.js)。
这个 tsconfig.json
文件的全部意义在于消除不使用 TypeScript 的项目中的错误。