tsconfig.json: Build: aucune entrée n'a été trouvée dans le fichier de configuration


136

J'ai un projet principal ASP.NET et j'obtiens cette erreur lorsque j'essaye de le créer:

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.

Voici mon tsconfig.jsondossier:

{
  "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/*"
  ]
}

Est-ce un bug ou est-ce que je fais quelque chose de mal? J'ai récemment mis à niveau Visual Studio 2015 vers la mise à jour 3. Quelqu'un at-il déjà rencontré ce problème?


5
C'est un comportement intentionnel. Vous devez avoir quelque chose à compiler.
Aluan Haddad

1
@AluanHaddad Vous dites ceci comme si c'était un fait. Pouvez-vous s'il vous plaît fournir une preuve de votre affirmation.
Serj Sagan


Votre source doit être là où vous pointez dans "include" sur tsconfig
Mohammad Kermani

Réponses:


245

Ajoutez un fichier dactylographié vide au dossier des scripts dactylographiés (l'emplacement de votre fichier tsconfig) pour satisfaire le compilateur dactylographié.


59
Qu'est-ce que ça veut dire?
Christian Matthew

21
@Christian Matthew Cela signifie que vous devez ajouter au moins un fichier dactylographié au dossier où votre application doit satisfaire le compilateur dactylographié.
rood

12
Qu'entendez-vous par dossier de script. Pouvez-vous s'il vous plaît élaborer plus?
San Jaisy

1
Ironiquement ... j'ai utilisé cette réponse il y a longtemps (j'ai ajouté le tsconfig et cela a corrigé ce problème). Quand j'ai ajouté Vue au projet, le problème est réapparu ... alors j'ai dû supprimer le tsconfig que j'avais ajouté dans le passé, et cela a fonctionné: P
joshmcode

1
Merci. Travailler pour moi. Mais quelqu'un peut-il expliquer ce qui se passe réellement derrière?
DriLLFreAK100

60

Vous pouvez également essayer de redémarrer votre éditeur de code. Cela fonctionne bien aussi.


Wow, cela a fonctionné pour moi!
JavaRunner

20

Je n'utilise pas du tout TypeScript dans ce projet, donc c'est assez frustrant d'avoir à gérer cela. J'ai corrigé cela en ajoutant un fichier tsconfig.json et un fichier file.ts vide à la racine du projet. Le tsconfig.json contient ceci:

{
  "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" ]
}

Merci, celui-ci a fonctionné pour moi. Donc, c'est juste un problème de mise à jour de l'éditeur de code vs pas avec React
Sanjay Poongunran

17

Si vous avez un includetableau (ce dont le linter TypeScript se plaint probablement):

tsconfig.json

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

et que vous utilisez VSCode, vous pouvez redémarrer votre serveur TS dans votre éditeur très facilement pour l'inviter à réévaluer le fichier.

CMD+ SHIFT+ P(sur Mac) ouvrira l'invite de commande, puis trouvera la TypeScript: Restart TS servercommande

entrez la description de l'image ici


Comment obtenez-vous la commande TypeScript ? Je n'ai que par exemple File , Git , GitLens , etc.
Leo

1
@Leo assurez-vous que vous visualisez un fichier .js/ .jsx/ .ts/ .tsxlorsque vous recherchez la commande. La commande, par exemple, n'est pas disponible lorsque vous visualisez un .htmlfichier
FrostyDog

10

Si vous utilisez le code vs pour l'édition, essayez de redémarrer l'éditeur.Ce scénario a résolu mon problème.Je pense que c'est le problème avec le cache de l'éditeur.


8

Lorsque vous créez le tsconfig.jsonfichier partsc --init , il commente le répertoire des fichiers d'entrée et de sortie. C'est donc la cause première de l'erreur.

Pour contourner le problème, décommentez ces deux lignes:

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

Au départ, cela ressemblerait à ci-dessus après avoir annulé les commentaires.

Mais tous mes scripts .ts étaient dans le dossier src. J'ai donc spécifié / src.

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

Veuillez noter que vous devez spécifier l'emplacement de vos scripts .ts dans rootDir.


5

J'obtiens cette erreur, "Aucune entrée n'a été trouvée dans le fichier de configuration 'tsconfig.json'. Les chemins 'include' spécifiés étaient '["**/*"]'et les chemins 'exclude' l'étaient '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

J'ai un fichier .tsconfig, qui lit les fichiers ts du dossier "./src".

Le problème ici est avec ce dossier source ne contenant pas de fichiers .ts et j'exécute tslint. J'ai résolu le problème en supprimant la tâche tslint de mon fichier gulp. Comme je n'ai pas de fichiers .ts à compiler et à linter. Mon problème est résolu en faisant cela.


4

ajoutez l'emplacement du fichier .ts dans la balise «include», puis compilez correctement. ex.

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

3

Lorsque vous utilisez Visual Studio Code , la construction du projet (c'est-à-dire en appuyant sur Ctrl + Maj + B ), déplace votre fichier .ts dans le dossier .vscode (je ne sais pas pourquoi il fait cela), puis génère l' erreur TS18003 . Ce que j'ai fait a été de déplacer mon fichier .ts hors du dossier .vscode , de le remettre dans le dossier racine et de reconstruire le projet.

Le projet construit avec succès!


il place le fichier .tsconfig dans le dossier .vscode. Si vous le déplacez hors du dossier .vscode, vous devrez peut-être également modifier .vscode / tasks.json pour pointer vers le nouvel emplacement
duggulous

3

J'ai ajouté ce qui suit à la racine (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
Juste un vide "exclude": [ "" ]fonctionne aussi (pour remplacer la valeur par défaut qui est ./)
spygi

3

J'ai tous mes fichiers .ts dans un srcdossier qui est un frère de mon tsconfig.json. J'obtenais cette erreur quand mon includeressemblait à ceci (cela fonctionnait avant, une mise à niveau de dépendance provoquait l'erreur apparaissant):

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

le changer pour cela a résolu le problème pour moi:

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


1

Btw, j'ai juste eu le même problème.

Si vous aviez mon cas, alors vous n'avez probablement pas le tsconfig.json dans le même répertoire que le fichier .ts.

(Dans mon cas, j'ai stupidement eu à côté de launch.json et tasks.json dans le dossier .vscode: P)


donc exactement l'inverse par rapport à la réponse @Noximus: D
Tha Brad

1

J'avais des fichiers tsconfig existants pour 4 projets existants dans ma solution. Après la mise à niveau vers vs2017, j'ai rencontré ce problème. Il a été corrigé en ajoutant les sections d'inclusion et d'exclusion (supposées par défaut) aux fichiers, comme décrit par NicoJuicy.


1
"outDir"

Devrait être différent de

"rootDir"

exemple

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

0

Si vous ne voulez pas de compilation TypeScript, désactivez-la dans votre .csprojfichier, selon cet article .

Ajoutez simplement la ligne suivante à votre .csprojfichier:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

0

J'ai un tsconfig.jsonfichier qui ne s'applique à aucun fichier .ts. C'est dans un dossier séparé. Au lieu de cela, je ne l'utilise que comme base pour d'autres fichiers tsconfig via "extends": "../Configs/tsconfig.json". Dès que j'ai renommé le fichier de configuration de base en quelque chose d'autre, par exemple base-tsconfig.json(et mis à jour les extendsinstructions), l'erreur a disparu et l'extension fonctionnait toujours.


0

J'ai eu la même erreur et dans mon cas, c'était parce que vscode ne pouvait pas reconnaître .ts fichier.

Il le voyait comme un fichier texte et j'ai dû le renommer pour supprimer une lettre et l'ajouter à nouveau pour le faire fonctionner.


0

J'ai constamment rencontré ce problème lors de l'emballage de mes projets dans des pépites via Visual Studio 2019. Après avoir cherché une solution pendant des lustres, je semble avoir résolu ce problème en suivant les conseils de cet article

MSBuild et Typescript

en particulier, <TypeScriptCompile />où j'ai inclus toutes mes ressources .ts avec l'opérateur Inclure et en exclu d'autres telles que node_modules avec l'opérateur Remove. J'ai ensuite supprimé le fichier tsconfig.json dans chaque projet incriminé et les packages nuget ont été générés et plus d'erreurs


0

J'ai reçu cette même erreur lorsque j'ai fait une copie de sauvegarde du node_modulesdossier dans le même répertoire. J'étais en train d'essayer de résoudre une erreur de construction différente lorsque cela s'est produit. J'espère que ce scénario aide quelqu'un. Supprimez le dossier de sauvegarde et la construction se terminera.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.