tsconfig.json: Build: Tidak ada input yang ditemukan di file config

136

Saya memiliki proyek inti ASP.NET dan saya mendapatkan kesalahan ini ketika mencoba membangunnya:

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.

Ini tsconfig.jsonfile saya :

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

Apakah ini bug atau apakah saya melakukan sesuatu yang salah? Saya baru saja memperbarui Visual Studio 2015 untuk memperbarui 3. Apakah ada yang pernah mengalami ini sebelumnya?

salib
sumber
5
Ini adalah perilaku yang dimaksudkan. Anda perlu memiliki sesuatu untuk dikompilasi.
Aluan Haddad
1
@AluanHaddad Anda menyatakan ini seolah-olah itu fakta. Bisakah Anda memberikan bukti atas pernyataan Anda?
Serj Sagan
Sumber Anda seharusnya berada di tempat Anda menunjuk "include" pada tsconfig
Mohammad Kermani

Jawaban:

245

Tambahkan file naskah kosong ke folder naskah naskah (lokasi file tsconfig Anda) untuk memenuhi kompiler naskah.

salib
sumber
59
Apa artinya ini?
Christian Matthew
21
@Christian Matthew Ini berarti, Anda harus menambahkan setidaknya satu file naskah ke folder tempat aplikasi Anda memenuhi kompiler naskah.
rood
12
Apa yang Anda maksud dengan folder skrip. Bisakah Anda menjelaskan lebih lanjut ??
San Jaisy
1
Ironisnya .. saya menggunakan jawaban ini sejak lama (menambahkan tsconfig dan memperbaiki masalah ini). Ketika saya menambahkan Vue ke proyek masalah muncul lagi ... jadi saya harus menghapus tsconfig yang saya tambahkan di masa lalu, dan itu berhasil: P
joshmcode
1
Terima kasih. Bekerja untukku. Tetapi adakah yang bisa menjelaskan apa yang sebenarnya terjadi di belakang?
DriLLFreAK100
60

Anda juga dapat mencoba me-restart editor kode Anda. Itu juga bekerja dengan baik.

desoga
sumber
Wow, itu berhasil untuk saya!
JavaRunner
20

Saya tidak menggunakan TypeScript dalam proyek ini sama sekali sehingga cukup frustasi karena harus berurusan dengan ini. Saya memperbaikinya dengan menambahkan tsconfig.json dan file file.ts kosong ke root proyek. Tsconfig.json berisi ini:

{
  "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" ]
}
TreeAndLeaf
sumber
Terima kasih, ini berhasil untuk saya. Jadi itu hanya masalah pembaruan kode editor bukan dengan React
Sanjay Poongunran
17

Jika Anda memiliki includearray (yang sering dikeluhkan oleh TypeScript):

tsconfig.json

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

dan Anda menggunakan VSCode, Anda dapat memulai kembali server TS Anda di dalam editor Anda dengan super mudah untuk mendorongnya mengevaluasi kembali file tersebut.

CMD+ SHIFT+ P(pada Mac) akan membuka prompt perintah, dan kemudian menemukan TypeScript: Restart TS serverperintah

masukkan deskripsi gambar di sini

FrostyDog
sumber
Bagaimana Anda mendapatkan perintah TypeScript ? Saya hanya punya mis. File , Git , GitLens , dll
Leo
1
@ Leo pastikan Anda melihat file .js/ .jsx/ .ts/ .tsxketika Anda mencari perintah. Perintah, misalnya, tidak tersedia ketika Anda melihat .htmlfile
FrostyDog
10

Jika Anda menggunakan kode vs untuk mengedit kemudian coba restart editor. Skenario ini memperbaiki masalah saya. Saya pikir itu masalah dengan cache editor.

Susampath
sumber
8

Ketika Anda membuat tsconfig.jsonfile dengan tsc --init, maka komentar direktori file input dan output. Jadi ini adalah akar penyebab kesalahan.

Untuk mengatasi masalah, batalkan komentar dua baris ini:

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

Awalnya akan terlihat seperti di atas setelah berhenti berkomentar.

Tapi semua skrip .ts saya ada di dalam folder src. Jadi saya telah menentukan / src.

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

Harap dicatat bahwa Anda perlu menentukan lokasi skrip .ts Anda di rootDir.

Pran Kumar Sarkar
sumber
5

Saya mendapatkan kesalahan ini, "Tidak ada input yang ditemukan di file config 'tsconfig.json'. Ditentukan 'termasuk' jalur sedang '["**/*"]'dan jalur 'kecualikan' '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

Saya memiliki file .tsconfig, yang membaca file ts dari folder "./src".

Masalahnya di sini adalah dengan folder sumber yang tidak mengandung file .ts dan saya menjalankan tslint. Saya menyelesaikan masalah dengan menghapus tugas tslint dari file tegp saya. Karena saya tidak punya file .ts untuk dikompilasi dan disalin. Masalah saya teratasi dengan melakukan ini.

Inukollu Hari krishna
sumber
4

tambahkan lokasi file .ts di tag 'include' lalu kompilasi work fine. ex.

"include": [
"wwwroot/**/*" ]
Rajat Kumar
sumber
3

Saat menggunakan Visual Studio Code , membangun proyek (yaitu menekan Ctrl + Shift + B ), memindahkan file .ts Anda ke folder .vscode (Saya tidak tahu mengapa ia melakukan ini), kemudian menghasilkan kesalahan TS18003 . Apa yang saya lakukan adalah memindahkan file .ts saya dari folder .vscode , kembali ke folder root dan membangun proyek lagi.

Proyek berhasil dibangun!

Randell Lamont
sumber
itu menempatkan file .tsconfig ke folder .vscode. Jika Anda memindahkannya dari folder .vscode, Anda mungkin juga perlu mengedit .vscode / task.json untuk menunjuk ke lokasi baru
tolol
3

Saya menambahkan yang berikut ini di root (studio visual)

{
  "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
  }
}
NicoJuicy
sumber
1
Hanya sebuah "exclude": [ "" ]karya kosong juga (untuk menimpa default yang ./)
spygi
3

Saya memiliki semua file .ts saya di dalam srcfolder yang merupakan saudara saya tsconfig.json. Saya mendapatkan kesalahan ini ketika includetampak seperti ini (berfungsi sebelumnya, beberapa peningkatan ketergantungan menyebabkan kesalahan muncul):

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

mengubahnya ke ini memperbaiki masalah bagi saya:

"include": [
    "**/*"
],
Corey Cole
sumber
1

Btw, baru saja mengalami masalah yang sama.

Jika Anda memiliki kasus saya, maka Anda mungkin memiliki tsconfig.json tidak dalam direktori yang sama dengan file .ts.

(Dalam kasus saya, saya memiliki bodoh di sebelah launch.json dan task.json di dalam folder .vscode: P)

Tha Brad
sumber
jadi persis sebaliknya dibandingkan dengan @Noximus menjawab: D
Tha Brad
1

Saya memiliki file tsconfig yang ada untuk 4 proyek yang ada dalam solusi saya. Setelah memutakhirkan ke vs2017 saya mengalami masalah ini. Itu diperbaiki dengan menambahkan (seharusnya default) termasuk dan mengecualikan bagian ke file, seperti yang dijelaskan oleh NicoJuicy.

Elroy Flynn
sumber
1
"outDir"

Harus berbeda dari

"rootDir"

contoh

    "outDir": "./dist",
    "rootDir": "./src", 
FDisk
sumber
0

Jika Anda tidak ingin kompilasi TypeScript, nonaktifkan itu di .csprojfile Anda , sesuai dengan posting ini .

Cukup tambahkan baris berikut ke .csprojfile Anda :

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
RubbelDieKatz
sumber
0

Saya memiliki tsconfig.jsonfile yang tidak berlaku untuk file .ts. Itu ada di folder terpisah. Sebaliknya saya hanya menggunakannya sebagai basis untuk file tsconfig lainnya via "extends": "../Configs/tsconfig.json". Segera setelah saya mengganti nama file konfigurasi dasar ke sesuatu yang lain misalnya base-tsconfig.json(dan memperbarui extendspernyataan) kesalahan hilang dan perpanjangan masih berfungsi.

pengguna764754
sumber
0

Saya mendapat kesalahan yang sama dan dalam kasus saya itu karena vscode tidak dapat mengenali .tsfile.

Itu melihatnya sebagai file teks dan saya harus mengganti nama untuk menghapus satu huruf dan menambahkannya kembali untuk membuatnya berfungsi.

Bakhtiiar Muzakparov
sumber
0

Saya mengalami masalah ini terus-menerus sambil mengemas proyek saya menjadi nuget melalui Visual Studio 2019. Setelah mencari solusi untuk waktu yang lama, saya tampaknya telah menyelesaikan ini dengan mengikuti saran dalam artikel ini

MSBuild & Ketik

terutama bagian tentang di <TypeScriptCompile />mana saya menyertakan semua sumber daya .ts saya dengan operator Sertakan dan mengecualikan orang lain seperti node_modules dengan operator Hapus. Saya kemudian menghapus file tsconfig.json di setiap proyek yang menyinggung dan paket nuget dihasilkan dan tidak ada lagi kesalahan

Laurence73
sumber
0

Saya menerima kesalahan yang sama ketika saya membuat salinan cadangan node_modulesfolder di direktori yang sama. Saya sedang dalam proses mencoba menyelesaikan galat build yang berbeda ketika ini terjadi. Saya harap skenario ini membantu seseorang. Hapus folder cadangan dan build akan selesai.

chadiusvt
sumber