tsconfig.json: Build: W pliku konfiguracyjnym nie znaleziono danych wejściowych


136

Mam podstawowy projekt ASP.NET i pojawia się ten błąd, gdy próbuję go zbudować:

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.

To jest mój tsconfig.jsonplik:

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

Czy to błąd, czy robię coś nie tak? Niedawno zaktualizowałem program Visual Studio 2015 do aktualizacji 3. Czy ktoś napotkał to wcześniej?


5
To jest zamierzone zachowanie. Musisz mieć coś do skompilowania.
Aluan Haddad

1
@AluanHaddad Stwierdzasz to tak, jakby to był fakt. Czy możesz przedstawić dowód na swoje twierdzenie.
Serj Sagan


Twoje źródło powinno znajdować się tam, gdzie wskazujesz w „uwzględnieniu” na tsconfig
Mohammad Kermani

Odpowiedzi:


245

Dodaj pusty plik skryptu do folderu skryptów maszynisty (lokalizacja pliku tsconfig), aby spełnić wymagania kompilatora skryptu.


59
co to znaczy?
Christian Matthew

21
@Christian Matthew Oznacza to, że musisz dodać co najmniej jeden plik maszynopisu do folderu, w którym Twoja aplikacja ma spełniać wymagania kompilatora maszynopisu.
Rood

12
Co masz na myśli przez folder skryptów. Czy możesz wyjaśnić więcej?
San Jaisy,

1
Jak na ironię ... użyłem tej odpowiedzi dawno temu (dodałem tsconfig i rozwiązałem ten problem). Kiedy dodałem Vue do projektu, problem pojawił się ponownie ... więc musiałem następnie usunąć tsconfig, który dodałem w przeszłości i zadziałało: P
joshmcode

1
Dzięki. Pracuje dla mnie. Ale czy ktoś może wyjaśnić, co tak naprawdę się dzieje?
DriLLFreAK100

60

Możesz także spróbować ponownie uruchomić edytor kodu. To też działa dobrze.


Wow, to zadziałało dla mnie!
JavaRunner

20

W ogóle nie używam TypeScript w tym projekcie, więc radzenie sobie z tym jest dość frustrujące. Naprawiłem to, dodając tsconfig.json i pusty plik file.ts do katalogu głównego projektu. Plik tsconfig.json zawiera to:

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

Dzięki, ten pracował dla mnie. Więc to tylko problem z aktualizacją edytora VS Code, który nie
dotyczy Reacta

17

Jeśli masz includetablicę (na co prawdopodobnie skarży się linter TypeScript):

tsconfig.json

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

i używasz VSCode, możesz bardzo łatwo zrestartować serwer TS w edytorze, aby poprosić go o ponowną ocenę pliku.

CMD+ SHIFT+ P(na komputerze Mac) otworzy wiersz polecenia, a następnie znajdzie TypeScript: Restart TS serverpolecenie

wprowadź opis obrazu tutaj


Jak uzyskać polecenie TypeScript ? Mam tylko np. File , Git , GitLens , etc
Leo

1
@Leo upewnij się, że przeglądasz plik .js/ .jsx/ .ts/ .tsx, gdy szukasz polecenia. Na przykład polecenie nie jest dostępne podczas przeglądania .htmlpliku
FrostyDog

10

Jeśli używasz kodu VS do edycji, spróbuj ponownie uruchomić edytor. Ten scenariusz rozwiązał mój problem. Myślę, że jest to problem z pamięcią podręczną edytora.


8

Kiedy tworzysz tsconfig.jsonplik przez tsc --init, to komentuje katalog plików wejściowych i wyjściowych. To jest główna przyczyna błędu.

Aby obejść problem, odkomentuj te dwie linie:

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

Początkowo po usunięciu komentarza wyglądałoby to tak jak powyżej.

Ale wszystkie moje skrypty .ts znajdowały się w folderze src. Więc określiłem / src.

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

Pamiętaj, że musisz określić lokalizację swoich skryptów .ts w katalogu rootDir.


5

Otrzymuję ten błąd: „Nie znaleziono danych wejściowych w pliku konfiguracyjnym„ tsconfig.json ”. Określono ścieżki„ dołączenia ”i ścieżki '["**/*"]'„ wykluczenia ” '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

Mam plik .tsconfig, który czyta pliki ts z folderu „./src”.

Problem polega na tym, że folder źródłowy nie zawiera plików .ts i używam tslint. Rozwiązałem problem, usuwając zadanie tslint z mojego pliku gulp. Ponieważ nie mam żadnych plików .ts do skompilowania i skopiowania. Mój problem zostanie rozwiązany w ten sposób.


4

dodaj lokalizację pliku .ts w tagu „include”, a następnie kompiluj dobrze. dawny.

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

3

Korzystając z Visual Studio Code , budując projekt (tj. Naciskając Ctrl + Shift + B ), przenosi plik .ts do folderu .vscode (nie wiem, dlaczego to robi), a następnie generuje błąd TS18003 . Co zrobiłem było przenieść moje .ts plik z folderu .vscode , z powrotem do głównego folderu i zbudować projekt ponownie.

Projekt zbudowano pomyślnie!


to stawia .tsconfig plik do folderu .vscode. Jeśli przeniesiesz go z folderu .vscode, może być konieczne zmodyfikowanie pliku .vscode / tasks.json, aby wskazywał nową lokalizację
głupiutki

3

Dodałem w katalogu głównym (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
Po prostu pusty "exclude": [ "" ]też działa (aby zastąpić domyślny, który jest ./)
spygi

3

Mam wszystkie moje pliki .ts w srcfolderze, który jest rodzeństwem mojego tsconfig.json. Otrzymałem ten błąd, kiedy mój includewyglądał tak (wcześniej działał, niektóre uaktualnienia zależności spowodowały wyświetlenie błędu):

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

zmiana na to rozwiązała problem:

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


1

Przy okazji, miałem ten sam problem.

Gdybyś miał mój przypadek, prawdopodobnie masz plik tsconfig.json nie w tym samym katalogu co plik .ts.

(W moim przypadku głupio miałem obok launch.json i tasks.json w folderze .vscode: P)


a więc dokładnie na odwrót w porównaniu z odpowiedzią @Noximus: D
Tha Brad

1

Miałem istniejące pliki tsconfig dla 4 istniejących projektów w moim rozwiązaniu. Po aktualizacji do vs2017 napotkałem ten problem. Zostało to naprawione przez dodanie (rzekomo domyślnej) sekcji włączania i wyłączania do plików, zgodnie z opisem w NicoJuicy.


1
"outDir"

Powinien być inny niż

"rootDir"

przykład

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

0

Jeśli nie chcesz kompilacji TypeScript, wyłącz ją w swoim .csprojpliku, zgodnie z tym postem .

Po prostu dodaj następujący wiersz do swojego .csprojpliku:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

0

Mam tsconfig.jsonplik, który nie dotyczy żadnych plików .ts. Znajduje się w osobnym folderze. Zamiast tego używam go tylko jako podstawy dla innych plików tsconfig za pośrednictwem "extends": "../Configs/tsconfig.json". Jak tylko zmieniłem nazwę podstawowego pliku konfiguracyjnego na coś innego, np. base-tsconfig.json(I zaktualizowałem extendsinstrukcje), błąd zniknął, a rozszerzenie nadal działało.


0

Otrzymałem ten sam błąd, aw moim przypadku był to wynikający z faktu, że vscode nie mógł rozpoznać .tspliku.

Widział to jako plik tekstowy i musiałem zmienić jego nazwę, aby usunąć jedną literę i dodać ją z powrotem, aby działała.


0

Ciągle napotykałem ten problem podczas pakowania projektów do nugetów za pośrednictwem programu Visual Studio 2019. Po wielu latach szukania rozwiązania wydaje się, że rozwiązałem ten problem, postępując zgodnie z radą w tym artykule

MSBuild i Typescript

szczególnie część o tym, <TypeScriptCompile />gdzie zawarłem wszystkie moje zasoby .ts za pomocą operatora Include i wykluczyłem inne, takie jak node_modules za pomocą operatora Remove. Następnie usunąłem plik tsconfig.json w każdym nieprawidłowym projekcie i wygenerowano pakiety NuGet i nie było więcej błędów


0

Otrzymałem ten sam błąd, kiedy wykonałem kopię zapasową node_modulesfolderu w tym samym katalogu. Byłem w trakcie próby rozwiązania innego błędu kompilacji, kiedy to wystąpiło. Mam nadzieję, że ten scenariusz komuś pomoże. Usuń folder kopii zapasowej, a kompilacja zostanie ukończona.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.