tsconfig.json:Build:在配置文件中找不到任何输入

时间:2016-12-18 18:37:11

标签: json typescript visual-studio-2015 asp.net-core

我有一个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.有没有人遇到过这个?

25 个答案:

答案 0 :(得分:156)

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

答案 1 :(得分:45)

之所以会发生这种情况,是因为打字机服务器找不到include数组描述的任何文件:

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

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

  1. 导航到任何.ts.tsx文件

  2. 打开命令选项板(在Mac上为 CMD + SHIFT + P

  3. 运行TypeScript: Restart TS server命令:

    TypeScript - Restart TS Server

答案 2 :(得分:16)

您也可以尝试重新启动代码编辑器。那也很好。

答案 3 :(得分:13)

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

答案 4 :(得分:12)

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

答案 5 :(得分:4)

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

我有一个.tsconfig文件,它从" ./ src"中读取ts文件。文件夹中。

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

答案 6 :(得分:4)

index.js 更改为 index.ts 为我修复了此错误。 (在此之前我没有任何 .ts 文件)。

注意:记住将引用 index.js 的任何地方更改为 index.ts,当然,引用主文件的地方除外。按照惯例,这可能位于您的 libdist 文件夹中。 我的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"

enter image description here

答案 7 :(得分:3)

使用 Visual Studio代码时,构建项目(即按 Ctrl + Shift + B ),将您的 .ts 文件移至 .vscode文件夹(我不知道为什么会这样做),然后生成 TS18003错误 。 我所做的是将 .ts 文件从 .vscode文件夹移回根文件夹,然后重新构建项目。

项目建成成功!

答案 8 :(得分:3)

在'include'标记中添加.ts文件位置然后编译工作正常。恩。

"include": [
"wwwroot/**/*" ]

答案 9 :(得分:2)

"outDir"

应该不同于

"rootDir"

示例

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

答案 10 :(得分:2)

好的,在 2021 年,使用 <project>/src/index.ts 文件,以下对我有用:

<块引用>

如果 VS Code 抱怨在配置文件中找不到输入...然后将包含更改为...

"include": ["./src/**/*.ts"]

发现以上内容为 comment of How to Write Node.js Applications in Typescript

答案 11 :(得分:2)

我在root(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
  }
}

答案 12 :(得分:1)

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

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

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

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

答案 13 :(得分:1)

我的解决方案中有4个现有项目的现有tsconfig文件。升级到vs2017后我遇到了这个问题。如NicoJuicy所述,通过在文件中添加(假定为默认的)包含和排除部分来修复它。

答案 14 :(得分:0)

我有同样的错误,因为我有这个:

"include": [ 
    "wwwroot/ts/*.ts" 
  ],
  "exclude": [ 
    "node_modules",
    "wwwroot"
  ]

出现错误是因为文件夹wwwroot出现在include和exclude中,您应该退出其中之一。

答案 15 :(得分:0)

对于遇到相同错误的任何人都应该尝试将“节点模块”添加到排除选项

self.samples

答案 16 :(得分:0)

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

答案 17 :(得分:0)

您需要有根 regmatches(dat, regexpr("(?<=:)[^(]*", dat, perl=TRUE)) sub(".*:([^(]*).*", "\\1", dat) sub(".*:(.*)\\(.*", "\\1", dat) index.tsx 文件

index.ts 命令起作用。

答案 18 :(得分:0)

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

MSBuild & Typescript

尤其是关于<TypeScriptCompile />的一部分,在这里我用Include运算符包括了所有.ts资源,而用Remove运算符则排除了诸如node_modules之类的其他资源。然后,我在每个有问题的项目中删除了tsconfig.json文件,并且生成了nuget包,并且没有更多错误

答案 19 :(得分:0)

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

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

答案 20 :(得分:0)

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

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

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

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

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

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

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

答案 21 :(得分:0)

我必须将files项目添加到tsconfig.json文件中,就像这样:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
    },
    "files": [
        "../MyFile.ts"
    ] 
}

此处有更多详细信息:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

答案 22 :(得分:0)

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

答案 23 :(得分:0)

如果您不希望TypeScript编译,请根据this post.csproj文件中将其禁用。

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

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

答案 24 :(得分:0)

不过,顺便问一下。

如果你有我的情况,那么你可能让tsconfig.json与.ts文件不在同一目录中。

(在我的情况下,我愚蠢地在.vscode文件夹中的launch.json和tasks.json旁边:P)