tsconfig.json: Yapı: Yapılandırma dosyasında giriş bulunamadı


137

Bir ASP.NET çekirdek projem var ve onu oluşturmaya ç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 yanlış bir şey mi yapıyorum? Yakın zamanda Visual Studio 2015'i 3'ü güncellemek için yükselttim. Bununla daha önce kimse karşılaştı mı?


5
Bu amaçlanan davranıştır. Derlemeniz gereken bir şeye ihtiyacınız var.
Aluan Haddad

1
@AluanHaddad Bunu gerçekmiş gibi söylüyorsunuz. Lütfen iddianız için kanıt sunabilir misiniz?
Serj Sagan


Kaynağınız, tsconfig'de "dahil et" ibaresini işaret ettiğiniz yer olmalıdır
Mohammad Kermani

Yanıtlar:


246

Typecript derleyicisini tatmin etmek için typescript scripts klasörüne (tsconfig dosyanızın konumu) boş bir typcript dosyası ekleyin.


59
Ne anlama geliyor?
Christian Matthew

21
@Christian Matthew Bu, typecript derleyicisini tatmin etmek için uygulamanızın bulunduğu klasöre en az bir typcript dosyası eklemeniz gerektiği anlamına gelir.
rood

12
Komut dosyası klasörü ile ne demek istiyorsun? Lütfen biraz daha detaylandırır mısınız?
San Jaisy

1
İronik olarak .. Bu cevabı uzun zaman önce kullandım (tsconfig'i ekledim ve bu sorunu çözdü).
Vue'yu

1
Teşekkürler. Benim için çalışıyor. Ama arkasında gerçekte ne olduğunu kimse açıklayabilir mi?
DriLLFreAK100

60

Kod düzenleyicinizi yeniden başlatmayı da deneyebilirsiniz. Bu da iyi çalışıyor.


Vay canına, bu benim için çalıştı!
JavaRunner

20

Bu projede TypeScript kullanmıyorum, bu yüzden bununla uğraşmak oldukça sinir bozucu. Proje köküne bir tsconfig.json ve boş bir file.ts dosyası ekleyerek bunu düzelttim. Tsconfig.json şunları içerir:

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

Teşekkürler, bu benim için çalıştı. Yani React ile değil sadece bir vs kod editörü güncelleme problemi
Sanjay Poongunran

17

Bir includediziniz varsa (TypeScript linter'in muhtemelen şikayet ettiği şey budur):

tsconfig.json

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

ve VSCode kullanıyorsanız, TS sunucunuzu düzenleyiciniz içinde kolayca yeniden başlatarak dosyayı yeniden değerlendirmesini isteyebilirsiniz.

CMD+ SHIFT+ P(Mac'te) komut istemini açar ve ardından TypeScript: Restart TS serverkomutu bulur

görüntü açıklamasını buraya girin


TypeScript komutunu nasıl alırsınız ? Yalnızca örn. File , Git , GitLens vb. Var
Aslan

1
@Leo komutu aradığınızda bir .js/ .jsx/ .ts/ .tsxdosyasını görüntülediğinizden emin olun . Örneğin, bir .htmldosyayı görüntülerken komut kullanılamaz
FrostyDog

10

Vs kodunu düzenleme için kullanıyorsanız, düzenleyiciyi yeniden başlatmayı deneyin.Bu senaryo sorunumu çözdü.


8

tsconfig.jsonDosyayı tarafından oluşturduğunuzda, tsc --initgiriş ve çıkış dosyası dizinini yorumlar. Yani hatanın temel nedeni budur.

Sorunun üstesinden gelmek için şu iki satırın açıklamasını kaldırın:

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

Başlangıçta, yorum kaldırıldıktan sonra yukarıdaki gibi görünecektir.

Ancak tüm .ts komut dosyalarım src klasörünün içindeydi. Bu yüzden / src'yi belirttim.

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

Lütfen .ts komut dosyalarınızın konumunu rootDir'de belirtmeniz gerektiğini unutmayın.


5

Bu hatayı alıyorum, "'tsconfig.json' yapılandırma dosyasında hiçbir girdi bulunamadı. Belirtilen 'include' yolları vardı '["**/*"]'ve 'dışla' yolları vardı '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

"./Src" klasöründen ts dosyalarını okuyan bir .tsconfig dosyam var.

Buradaki sorun, .ts dosyalarını içermeyen bu kaynak klasörde ve tslint çalıştırıyorum. Gulp dosyamdan tslint görevini kaldırarak sorunu çözdüm. Derlenecek ve lintlenecek .ts dosyam olmadığı için. Sorunum bunu yaparak çözüldü.


4

.ts dosya konumunu 'include' etiketine ekleyin ve derleyin. ex.

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

3

Visual Studio Code kullanırken , proje oluşturmak (yani Ctrl + Shift + B'ye basmak ), .ts dosyanızı .vscode klasörüne taşır (bunu neden yaptığını bilmiyorum) ve ardından TS18003 hatası oluşturur . Yaptığım şey benim hareket oldu ts dışına dosya .vscode klasörüne geri, kök klasörde ve projeyi yeniden oluşturmaktı.

Proje başarıyla inşa edildi!


.tsconfig dosyasını .vscode klasörüne koyar . Eğer onu .vscode klasörünün dışına taşırsanız, yeni konumu işaret etmek için .vscode / tasks.json dosyasını düzenlemeniz gerekebilir
duggulous

3

Aşağıdakileri köke ekledim (görsel stüdyo)

{
  "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
Sadece boş bir "exclude": [ "" ]çalışma da (varsayılan olanı geçersiz kılmak için)
spygi

3

Tüm .ts dosyalarım, .ts dosyamın srckardeşi olan bir klasörde var tsconfig.json. includeBöyle göründüğümde bu hatayı alıyordum (daha önce çalışıyordu, bazı bağımlılık yükseltmeleri hatanın görünmesine neden oldu):

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

bunu buna değiştirmek benim için sorunu çözdü:

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


1

Btw, sadece aynı sorunu yaşadım.

Benim durumum varsa, muhtemelen tsconfig.json dosyası .ts dosyasıyla aynı dizinde değildir.

(Benim durumumda aptalca .vscode klasörünün içinde launch.json ve tasks.json'un yanında aptalca buldum: P)


@Noximus cevabına kıyasla tam tersi: D
Tha Brad

1

Çözümümde mevcut 4 proje için tsconfig dosyalarım vardı. Vs2017'ye yükselttikten sonra bu sorunu yaşadım. NicoJuicy tarafından açıklandığı gibi dosyalara (varsayılan olarak varsayılan) dahil etme ve hariç tutma bölümleri eklenerek düzeltildi.


1

Eğer o devre dışı daktilo versiyonu derleme, istemiyorsanız .csprojgöre, dosyanın bu yazı .

.csprojDosyanıza aşağıdaki satırı eklemeniz yeterlidir:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

1
"outDir"

Farklı olmalı

"rootDir"

misal

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

0

Bir var tsconfig.jsonherhangi ts dosyaları için geçerli değildir dosyayı. Ayrı bir klasörde. Bunun yerine, onu yalnızca diğer tsconfig dosyaları için bir temel olarak kullanıyorum "extends": "../Configs/tsconfig.json". Temel yapılandırma dosyasını başka bir şeye yeniden adlandırdığımda base-tsconfig.json(ve extendsifadeleri güncellediğimde ) hata ortadan kalktı ve genişletme hala çalıştı.


0

Aynı hatayı aldım ve benim durumumda bunun nedeni vscode'un .tsdosyayı tanıyamamasıydı .

Onu metin dosyası olarak görüyordu ve bir harfi kaldırıp çalışmasını sağlamak için yeniden adlandırmak zorunda kaldım.


0

Projelerimi Visual Studio 2019 aracılığıyla nugetlere paketlerken sürekli bu sorunla karşılaştım. Uzun yıllar boyunca bir çözüm aradıktan sonra, bu makaledeki tavsiyeleri izleyerek sorunu çözmüş gibiyim.

MSBuild & Typescript

özellikle <TypeScriptCompile />tüm .ts kaynaklarımı Dahil Et işlecine dahil ettiğim ve Kaldırma işleciyle node_modules gibi diğerlerini hariç tuttuğum kısım. Daha sonra sorun teşkil eden her projede tsconfig.json dosyasını sildim ve nuget paketleri üretildi ve daha fazla hata yok


0

node_modulesAynı dizindeki klasörün yedek kopyasını oluşturduğumda aynı hatayı aldım . Bu meydana geldiğinde farklı bir yapı hatasını çözmeye çalışma sürecindeydim. Umarım bu senaryo birine yardımcı olur. Yedekleme klasörünü kaldırın ve yapı tamamlanacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.