Einleitung: Warum sieht TypeScript meine Dateien nicht?
\n\nSie öffnen ein TypeScript-Projekt, starten den Build, und plötzlich – bumm! – eine kalte Dusche in Form der Meldung: tsconfig.json: Build:No inputs were found in config file. Kommt Ihnen das bekannt vor? Wenn Sie sich schon einmal mit der TypeScript-Konfiguration beschäftigt haben, haben Sie diesen Fehler sicherlich gesehen. Er erschreckt Anfänger und nervt Profis. Aber keine Sorge, Sie müssen sich nicht die Haare raufen oder Microsoft verfluchen.
In diesem Artikel zeigen wir nicht nur, wie Sie den Fehler schnell beheben. Wir analysieren seine Anatomie: warum er auftritt, welche Szenarien dazu führen und wie Sie tsconfig.json so konfigurieren, dass Sie diese Meldung nie wieder sehen. Das ist sowohl für diejenigen nützlich, die gerade erst mit TypeScript beginnen, als auch für diejenigen, die die Mechanik des Compilers besser verstehen möchten.
Und ja, wir werden lebendig und mit Beispielen sprechen. Los geht's!
\n\nWas bedeutet der Fehler "Build:No inputs were found in config file"?
\n\nÜbersetzt man vom Compiler-Sprache ins Menschliche, sagt TypeScript Ihnen: "Ich weiß nicht, welche Dateien ich kompilieren soll. Du hast mir gesagt, ich soll das Projekt bauen, aber nicht angegeben, wo die Quelldateien liegen." Der Compiler tsc sucht nach .ts- und .tsx-Dateien, findet aber keine in den Verzeichnissen, die Sie (oder er selbst) angegeben haben.
Der Fehler tritt in zwei typischen Situationen auf:
\n- \n
- Sie haben gerade
tsconfig.jsonin einem leeren Ordner erstellt. \n - Sie haben die Felder
include,excludeoderrootDirfalsch konfiguriert. \n
Lassen Sie uns jede Ursache im Detail analysieren, damit Sie nicht nur die Lösung kopieren, sondern verstehen, warum sie funktioniert.
\n\nUrsache Nr. 1: Es gibt keine TypeScript-Dateien im Projekt
\n\nDie banalste, aber häufigste Ursache. Sie haben tsconfig.json in einem Ordner erstellt, in dem es keine einzige .ts-Datei gibt. Der Compiler sucht ehrlich – und findet nichts.
Beispiel für das Problem:
\nmy-project/\n├── tsconfig.json\n└── (sonst nichts)\n\nWir starten npx tsc – und erhalten den Fehler. Die Lösung ist offensichtlich: Erstellen Sie mindestens eine Datei index.ts.
So beheben Sie es:
\nmy-project/\n├── tsconfig.json\n├── src/\n│ └── index.ts # <-- Hier ist er, der Retter!\n\nAber was, wenn Dateien vorhanden sind und der Fehler trotzdem auftritt? Dann graben wir tiefer.
\n\nUrsache Nr. 2: Falscher Pfad im Feld include
\n\nDas Feld include in tsconfig.json sagt dem Compiler: "Suche Dateien hier". Wenn Sie einen nicht existierenden Ordner angegeben oder einen Fehler im Pfad gemacht haben, findet der Compiler nichts.
Falsche Konfiguration:
\n{\n "compilerOptions": {\n "target": "ES2020",\n "module": "commonjs",\n "outDir": "./dist"\n },\n "include": ["src/**/*"] // Aber der Ordner src existiert nicht!\n}\n\nIn diesem Beispiel fehlt der Ordner src. Der Compiler versucht ehrlich, Dateien mit dem Muster src/**/* zu finden, findet keine – und gibt den Fehler aus.
So beheben Sie es:
\n- \n
- Überprüfen Sie, ob der von Ihnen in
includeangegebene Ordner existiert. \n - Stellen Sie sicher, dass in diesem Ordner
.ts- oder.tsx-Dateien vorhanden sind. \n - Verwenden Sie relative Pfade. Wenn Ihre
tsconfig.jsonim Stammverzeichnis liegt und die Quellen insrc/, schreiben Sie"src/**/*". \n
Richtige Konfiguration:
\n{\n "compilerOptions": {\n "target": "ES2020",\n "module": "commonjs",\n "outDir": "./dist"\n },\n "include": ["src/**/*"]\n}\n// Stellen Sie sicher, dass der Ordner src existiert und .ts-Dateien enthält\n\nUrsache Nr. 3: Konflikt zwischen include und exclude
\n\nManchmal geben Sie einen Ordner in include an, aber dann schließen Sie ihn in exclude aus.