tsconfig.json:内部版本:在配置文件中找不到输入


136

我有一个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。以前有人遇到过吗?


5
这是预期的行为。您需要编译一些东西。
阿兰·哈达德

1
@AluanHaddad您可以说这是事实。您能为您的主张提供证据吗?
Serj Sagan


您的来源应该是您指向tsconfig上“包含”的位置
Mohammad Kermani

Answers:


245

将一个空的打字稿文件添加到打字稿脚本文件夹(tsconfig文件的位置),以满足打字稿编译器的要求。


59
这是什么意思?
克里斯蒂安·马修

21
@Christian Matthew这意味着,您需要向您的应用程序满足打字稿编译器的文件夹中添加至少一个打字稿文件。
十字架

12
脚本文件夹是什么意思。您能详细说明一下吗?
San Jaisy

1
具有讽刺意味的..我很久以前就使用了这个答案(添加了tsconfig并解决了这个问题)。当我将Vue添加到项目中时,问题再次弹出...所以我不得不删除过去添加的tsconfig,它起作用:P
joshmcode

1
谢谢。为我工作。但是,谁能解释背后的实际情况呢?
DriLLFreAK100


20

我在这个项目中根本没有使用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" ]
}

谢谢,这个为我工作。所以它只是一个vs代码编辑器更新问题,而不是React
Sanjay Poongunran

17

如果您有一个include数组(这是TypeScript linter可能抱怨的问题):

tsconfig.json

{
  ...
  "include": [
    "./src/"
  ],
}

如果您使用的是VSCode,则可以非常轻松地在编辑器中重新启动TS服务器,以提示其重新评估文件。

CMD+ SHIFT+ P(在Mac上)将会打开命令提示符,然后找到TypeScript: Restart TS server命令

在此处输入图片说明


如何获得TypeScript命令?我只有例如FileGitGitLens
Leo

1
@Leo确保您查看.js/ .jsx/ .ts/ .tsx当你看到该命令的文件。例如,当您查看.html文件时,该命令不可用
FrostyDog

10

如果您使用vs代码进行编辑,请尝试重新启动编辑器。这种情况解决了我的问题。我认为这是编辑器缓存的问题。


8

当您通过创建tsconfig.json文件时tsc --init,它将注释输入和输出文件目录。因此,这是错误的根本原因。

要解决此问题,请取消注释以下两行:

"outDir": "./", 
"rootDir": "./", 

取消注释后,最初看起来像上面的样子。

但是我所有的.ts脚本都在src文件夹中。所以我指定了/ src。

"outDir": "./scripts", 
"rootDir": "./src", 

请注意,您需要在rootDir中指定.ts脚本的位置。


5

我收到此错误,“在配置文件'tsconfig.json'中未找到任何输入。指定的'包含'路径为'["**/*"]'和'排除'路径为'["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'

我有一个.tsconfig文件,该文件从“ ./src”文件夹中读取ts文件。

这里的问题是源文件夹不包含.ts文件,而我正在运行tslint。我通过从gulp文件中删除tslint任务解决了问题。由于我没有任何.ts文件要编译和掉毛。这样做可以解决我的问题。



3

使用Visual Studio Code时,构建项目(即,按Ctrl + Shift + B),将.ts文件移动到.vscode文件夹 (我不知道为什么这样做),然后生成TS18003错误。我所做的是将.ts文件从.vscode文件夹移出,移回到根文件夹, 然后再次构建项目。

项目建设成功!


它将.tsconfig文件放入.vscode文件夹中。如果将其移出.vscode文件夹,则可能还需要编辑.vscode / tasks.json以指向新位置
dugul18'Aug

3

我在根目录(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
  }
}

1
也只有一个空的"exclude": [ "" ]作品(以覆盖默认的
./)– spygi

3

我所有的.ts文件都放在一个src文件夹中,该文件夹是.si 的同级文件tsconfig.json。当我include看起来像这样时,我得到了这个错误(它在以前工作,某些依赖项升级导致出现该错误):

"include": [
    "src/**/*"
],

将其更改为此解决了我的问题:

"include": [
    "**/*"
],


1

顺便说一句,只是有同样的问题。

如果遇到我的情况,则可能是tsconfig.json与.ts文件不在同一目录中。

(以我为例,我愚蠢地在.vscode文件夹:P内有launch.json和tasks.json旁边)


因此,与@Noximus相比,恰恰相反:D
Tha Brad

1

我的解决方案中有4个现有项目的现有tsconfig文件。升级到vs2017后,我遇到了这个问题。如NicoJuicy所述,通过在文件中添加(应该是默认值)include和exclude部分来修复此问题。


1
"outDir"

应该不同于

"rootDir"

    "outDir": "./dist",
    "rootDir": "./src", 

0

如果您不希望TypeScript编译,请.csproj根据这篇文章将其禁用。

只需将以下行添加到您的.csproj文件中:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

0

我有一个tsconfig.json不适用于任何.ts文件的文件。在单独的文件夹中。相反,我仅通过将它用作其他tsconfig文件的基础"extends": "../Configs/tsconfig.json"。我将基本配置文件重命名为其他名称base-tsconfig.json(例如,更新了extends语句)后,错误消失了,扩展仍然有效。


0

我遇到了同样的错误,在我的情况下是因为vscode无法识别.ts文件。

它看到它是文本文件,因此我不得不重命名它以删除一个字母并重新添加它以使其正常工作。


0

在通过Visual Studio 2019将项目打包到nuget中时,我经常遇到此问题。寻找适合年龄的解决方案后,我似乎已经按照本文中的建议解决了此问题

MSBuild和打字稿

特别是关于<TypeScriptCompile />我将所有.ts资源包含在Include运算符中,而排除其他节点(例如node_modules)与Remove运算符的地方。然后,我在每个有问题的项目中删除了tsconfig.json文件,并且生成了nuget包,并且没有其他错误


0

node_modules在同一目录中制作该文件夹的备份副本时,我收到了同样的错误。发生这种情况时,我正在尝试解决另一个构建错误。我希望这种情况能对某人有所帮助。删除备份文件夹,构建将完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.