我有一个 ASP.NET 核心项目,当我尝试构建它时出现此错误:
error TS18003: Build:No inputs were found in config file 'Z:/Projects/client/ZV/src/ZV/Scripts/tsconfig.json'. Specified 'include' paths were '["**/*"]' and 'exclude' paths were '["../wwwroot/app","node_modules/*"]'.
1> The command exited with code 1.
1> Done executing task "VsTsc" -- FAILED.
这是我的 tsconfig.json
文件:
{
"compileOnSave": true,
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es5", "dom" ],
"module": "commonjs",
"moduleResolution": "node",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../wwwroot/app/",
"removeComments": false,
"sourceMap": true,
"target": "es6"
},
"exclude": [
"../wwwroot/app",
"node_modules/*"
]
}
这是一个错误还是我做错了什么?我最近确实将 Visual Studio 2015 升级到更新 3。以前有人遇到过这种情况吗?
将一个空的 typescript 文件添加到 typescript scripts 文件夹(您的 tsconfig 文件的位置)以满足 typescript 编译器的要求。
您也可以尝试重新启动代码编辑器。这也很有效。
这可能是因为打字稿服务器找不到 include
数组描述的任何文件:
// tsconfig.json
{
//...
"include": [
"./src/"
],
}
如果您使用的是 VSCode,您可以在编辑器中超级轻松地重新启动 TS 服务器,以提示它重新评估文件,如下所示:
导航到任何 .ts 或 .tsx 文件 打开命令面板(在 Mac 上为 CMD + SHIFT + P) 运行 TypeScript:重新启动 TS 服务器命令:
.js
/.jsx
/.ts
/.tsx
文件。例如,当您查看 .html
文件时,该命令不可用
我根本没有在这个项目中使用 TypeScript,所以不得不处理这个问题非常令人沮丧。我通过将 tsconfig.json 和一个空的 file.ts 文件添加到项目根目录来解决此问题。 tsconfig.json 包含以下内容:
{
"compilerOptions": {
"allowJs": false,
"noEmit": true // Do not compile the JS (or TS) files in this project on build
},
"compileOnSave": false,
"exclude": [ "src", "wwwroot" ],
"include": [ "file.ts" ]
}
jsconfig.js
。我也没有使用 TS,但 Vue 和 Vetur 出于某种原因开始需要这个。这对他们来说是一个非常糟糕的架构。
如果您使用 vs 代码进行编辑,请尝试重新启动编辑器。这种情况解决了我的问题。我认为这是编辑器缓存的问题。
当您通过 tsc --init
创建 tsconfig.json
文件时,它会注释输入和输出文件目录。所以这是错误的根本原因。
要解决此问题,请取消注释这两行:
"outDir": "./",
"rootDir": "./",
最初它在取消注释后看起来像上面。
但是我所有的 .ts 脚本都在 src 文件夹中。所以我指定了/src。
"outDir": "./scripts",
"rootDir": "./src",
请注意,您需要在 rootDir 中指定 .ts 脚本的位置。
我的所有 .ts 文件都在一个 src
文件夹中,该文件夹是我的 tsconfig.json
的同级文件夹。当我的 include
看起来像这样时,我收到了这个错误(它以前工作过,一些依赖项升级导致出现错误):
"include": [
"src/**/*"
],
将其更改为此解决了我的问题:
"include": [
"**/*"
],
我收到了这个错误:
在配置文件“tsconfig.json”中找不到输入。
指定的 include
路径是 '["**/*"]'
和 exclude
路径 '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'
。
我有一个 .tsconfig
文件,它从 ./src
文件夹中读取 TS 文件。
这里的问题是源文件夹不包含任何 .ts
文件,而我正在运行 tslint。我通过从我的 gulp 文件中删除 tslint 任务解决了问题,因为我没有任何要编译和检查的 .ts
文件。
将 index.js
更改为 index.ts
为我修复了此错误。 (在此之前我没有任何 .ts
文件)。
注意:请记住将您引用 index.js
的任何位置更改为 index.ts
,当然,您引用主文件的位置除外。按照惯例,这可能在您的 lib
或 dist
文件夹中。我的tsconfig.json
:
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"esModuleInterop": true,
"inlineSourceMap": true,
"noImplicitAny": false
}
}
我的 outDir
是 ./dist
,所以我在 package.json 中将我的 main 引用为 "main": "dist/index.js"
https://i.stack.imgur.com/n26rD.png
在现代打字稿配置中,只需设置“allowJs”,无需在包含目录中添加任何空的 .ts 文件,例如“src”(在包含数组中指定)
tsconfig.json
{
"compilerOptions": {
"allowJs": true,
...
},
"include": [
"src"
]
}
"outDir"
应该不同于
"rootDir"
例子
"outDir": "./dist",
"rootDir": "./src",
您需要有根 index.tsx
或 index.ts
文件才能使 tsc
命令工作。
我在根目录(visual studio)中添加了以下内容
{
"compilerOptions": {
"allowJs": true,
"noEmit": true,
"module": "system",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"include": [
"**/*"
],
"exclude": [
"assets",
"node_modules",
"bower_components",
"jspm_packages"
],
"typeAcquisition": {
"enable": true
}
}
"exclude": [ "" ]
也可以(覆盖默认值 ./)
对我有用的解决方案是在配置文件中的每个包含路径之前添加一个 ./ :
"include": ["./src/**/*.d.ts", "./src/**/*.js", "./src/**/*.svelte"]
使用 Visual Studio Code 时,构建项目(即按 Ctrl + Shift + B),将您的 .ts 文件移动到 .vscode 文件夹中(我不知道为什么会这样),然后生成 TS18003 错误。我所做的是将我的 .ts 文件移出 .vscode 文件夹,回到根文件夹并再次构建项目。
项目建设成功!
在“包含”标签中添加 .ts 文件位置,然后编译工作正常。前任。
"include": [
"wwwroot/**/*" ]
好的,在 2021 年,使用 <project>/src/index.ts
文件,以下内容对我有用:
如果 VS Code 抱怨在配置文件中没有找到输入...然后将包含更改为...
"include": ["./src/**/*.ts"]
发现上述内容为 comment of How to Write Node.js Applications in Typescript
如果您不想进行 TypeScript 编译,请根据 this post 在您的 .csproj
文件中禁用它。
只需将以下行添加到您的 .csproj
文件中:
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
我必须将 files
项添加到 tsconfig.json
文件中,如下所示:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
},
"files": [
"../MyFile.ts"
]
}
更多详细信息:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
我的 VSCode 在我的 tsconfig.json 文件的开头给了我波浪线,并且有同样的错误,所以
我确保在“包含”路径中指定的文件夹中至少有一个 .ts 文件(包含路径中的一个文件夹是空的,这很好)我只是关闭了 VSCode 并重新打开它,然后解决它。 (叹..)
我的文件夹结构
tsconfig.json
package.json
bar/
myfile.ts
lib/
(no file)
我的 tsconfig.json
"compilerOptions": { ... },
"include": [
"bar/**/*",
"lib/**/*"
],
"exclude": [
".webpack/**/*",
".vscode/**/*"
]
顺便说一句,刚刚遇到了同样的问题。
如果您遇到我的情况,那么您的 tsconfig.json 可能与 .ts 文件不在同一目录中。
(在我的情况下,我愚蠢地在 .vscode 文件夹中放置了 launch.json 和 tasks.json :P)
我的解决方案中有 4 个现有项目的现有 tsconfig 文件。升级到 vs2017 后,我遇到了这个问题。如 NicoJuicy 所述,通过在文件中添加(假设是默认的)包含和排除部分来修复它。
对于遇到相同错误的任何人,应尝试将“节点模块”添加到排除选项
{
"compilerOptions": {
...
},
"include": [
"./src/**/*.ts"
],
"exclude": [
"./out.d.ts",
"node_modules",
]
}
我有一个不适用于任何 .ts 文件的 tsconfig.json
文件。它在一个单独的文件夹中。相反,我只通过 "extends": "../Configs/tsconfig.json"
将它用作其他 tsconfig 文件的基础。一旦我将基本配置文件重命名为其他内容,例如 base-tsconfig.json
(并更新了 extends
语句),错误就消失了,扩展仍然有效。
我遇到了同样的错误,就我而言,这是因为 vscode 无法识别 .ts
文件。
它将它视为文本文件,我不得不重命名它以删除一个字母并将其重新添加以使其正常工作。
我在通过 Visual Studio 2019 将我的项目打包成 nugets 时经常遇到这个问题。在寻找了多年的解决方案之后,我似乎已经通过遵循本文中的建议解决了这个问题
特别是关于 <TypeScriptCompile />
的部分,其中我使用 Include 运算符包含了我的所有 .ts 资源,并使用 Remove 运算符排除了其他资源,例如 node_modules。然后我删除了每个有问题的项目中的 tsconfig.json 文件,并且生成了 nuget 包并且没有更多错误
当我在同一目录中制作 node_modules
文件夹的备份副本时,我收到了同样的错误。发生这种情况时,我正在尝试解决不同的构建错误。我希望这种情况对某人有所帮助。删除备份文件夹,构建将完成。
我有同样的错误,因为我有这个:
"include": [
"wwwroot/ts/*.ts"
],
"exclude": [
"node_modules",
"wwwroot"
]
出现错误是因为文件夹 wwwroot 出现在包含和排除中,您应该退出其中之一。
确保所有文件都有正确的名称。
您需要有两个文件夹,一个用于源(打字稿),另一个用于输出(javascript)。
tsconfig.json:
{
"compilerOptions": {
...
"outDir": "out/",
"rootDir": "src/",
...