typescript - tsconfig.json: Derleme: Yapılandırma dosyasında giriş bulunamadı
Bir ASP.NET core projem var ve onu derlemeye çalıştığımda şu hatayı alıyorum:
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.
Bu benim tsconfig.json dosyam:
{
"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/*"
]
}
Bu bir hata mı yoksa ben mi bir yanlış yapıyorum? Geçenlerde Visual Studio 2015'i güncelleme 3'e yükselttim. Daha önce bunu yaşayan var mı?
Cevap #1
TypeScript'in derleme yapabilmesi için klasörde en az bir TypeScript dosyası olmasını bekler.
Hatanın düzeltilmesi için, TypeScript betikleri klasörüne (tsconfig dosyanızın bulunduğu konuma) boş bir TypeScript dosyası ekleyin.
Cevap #2
Ayrıca kod düzenleyicinizi yeniden başlatmayı da deneyebilirsiniz. Bu da iyi çalışır.
Cevap #3
Bu, typescript sunucusu include dizisiyle belirtilen dosyaları bulamadığı için meydana gelebilir:
// tsconfig.json
{
//...
"include": [
"./src/"
],
}
VSCode kullanıyorsanız, dosyayı tekrar değerlendirmesi için TS sunucunuzu editörünüz içinde çok kolay bir şekilde yeniden başlatabilirsiniz, işte böyle:
Herhangi bir
.tsveya.tsxdosyasına gidinKomut paletini açın (CMD + SHIFT + P Mac'te)
TypeScript: TS sunucusunu yeniden başlatkomutunu çalıştırın:
Cevap #4
Bu projede TypeScript kullanmıyorum, bu yüzden bununla uğraşmak oldukça sinir bozucu. Bunu, proje kök dizinine bir tsconfig.json ve boş bir file.ts dosyası ekleyerek çözdüm. tsconfig.json şunu içeriyor:
{
"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" ]
}
Cevap #5
Modern TypeScript yapılandırmasında sadece "allowJs" ayarını yapın ve "include" dizinlerinde (include dizisinde belirtilen) herhangi boş bir .ts dosyası eklemenize gerek yoktur.
tsconfig.json
{
"compilerOptions": {
"allowJs": true,
...
},
"include": [
"src"
]
}
Cevap #6
Eğer düzenleme için VS Code kullanıyorsanız, o zaman editörü yeniden başlatmayı deneyin. Bu senaryo benim sorunumı çözdü. Bence sorun editör önbelleği ile ilgili.
Cevap #7
.ts dosyalarımın tamamı, tsconfig.json dosyamla aynı düzeyde olan bir src klasörünün içinde bulunuyor. include bu şekildeyken bu hatayı alıyordum (önceden çalışıyordu, bazı bağımlılık güncellemeleri bu hatanın ortaya çıkmasına neden oldu):
"include": [
"src/**/*"
],
Bunu bu şekilde değiştirmek benim için sorunu çözdü:
"include": [
"**/*"
],
Cevap #8
tsc --init ile tsconfig.json dosyasını oluşturduğunuzda, giriş ve çıkış dosyası dizinini yorum satırı haline getirir. Bu yüzden bu hatanın temel nedeni budur.
Sorunun üstesinden gelmek için, bu iki satırın yorum işaretlerini kaldırın:
"outDir": "./",
"rootDir": "./",
Başlangıçta, yorum işaretleri kaldırıldıktan sonra yukarıdaki gibi görünecektir.
Ama tüm .ts dosyalarım src klasörünün içindeydi. Bu yüzden /src belirttim.
"outDir": "./scripts",
"rootDir": "./src",
Lütfen .ts betiklerinizin konumunu rootDir içinde belirtmeniz gerektiğini unutmayın.
Cevap #9
"outDir"
Şundan farklı olmalı
"rootDir"
örnek
"outDir": "./dist",
"rootDir": "./src",
Cevap #10
Bu hatayı alıyordum:
Yapılandırma dosyasında 'tsconfig.json' hiçbir giriş bulunamadı.
Belirtilen include yolları '["**/*"]' ve exclude yolları '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]' idi.
.tsconfig dosyam vardı, bu dosya TS dosyalarını ./src klasöründen okuyordu.
Buradaki sorun, kaynak klasörün herhangi bir .ts dosyası içermemesi ve benim tslint çalıştırmamdı. Sorunu, gulp dosyamdan tslint görevini kaldırarak çözdüm, çünkü derlenecek ve lint yapılacak herhangi bir .ts dosyam yok.
