Ana içeriğe geç
Modül 7 · Ders 1 ders 2Kurstaki 13/14~12 min
Modül dersleri (1/2)

Tsconfig.json ile yapılandırma

tsconfig.json dosyası, bir TypeScript projesinin kök dizinini ve projeyi oluşturmak için gereken derleyici seçeneklerini belirtir.

Bir proje dizininde tsc komutunu çalıştırdığınızda, derleyici derleme davranışını yönlendirmek için bu dosyayı arar.


tsconfig.json Dosyasının Yapısı

Tipik bir yapılandırma dosyası şuna benzer:

Code
{
  "compilerOptions": {
    "target": "es2022",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

Ana özellikler şunlardır:

  • compilerOptions: Derleyici ayarları.
  • include: Derlenecek dosya veya klasörleri belirtir.
  • exclude: Derleme sırasında yoksayılacak dosya veya klasörleri belirtir.

Anahtar Derleyici Seçenekleri

Bilmeniz gereken en önemli ayarlardan bazıları şunlardır:

  1. target: Derleyicinin JavaScript çıktısının sürümünü belirtir (örneğin, es5, es6/es2015, es2020, esnext).
  2. module: Derlenmiş kodda kullanılan modül sistemini belirtir (örneğin, commonjs, esnext, node16).
  3. strict: Çok çeşitli titiz tip kontrolü davranışlarına olanak tanır. Maksimum tür güvenliği için bunu true olarak ayarlamanız önemle tavsiye edilir. Aşağıdaki gibi seçenekleri etkinleştirir:
    • noImplicitAny: Tür ek açıklaması sağlanmadığında, örtülü any türüne sahip ifadeler ve bildirimlerde hata oluşturur.
    • strictNullChecks: null veya undefined öğelerini açıkça birleşimlerine dahil etmeyen türlere atamayı engeller.

Kendin dene

Alıştırma 1: strictNullCheck'leri yönetme

Egzersiz#ts.m7.l1.e1
Denemeler: 0Yükleniyor…

Tsconfig.json'daki strictNullChecks: true seçeneği altında, ilkel türlere null veya tanımsız atayamayız. string | türünde bir girişi kabul eden parseAge adında bir işlev bildirin. null ve giriş null değilse ve geçerli bir tam sayı ise bir sayı döndürür, aksi takdirde 0 döndürür. Katı derlemeyi geçmek için null durumunu açıkça işleyin.

Düzenleyici yükleniyor…
İpucu göster

Fonksiyonun başında girişin null olup olmadığını kontrol edin ve dizeyi işlemeden hemen önce 0 değerini döndürün.

3 denemeden sonra çözüm mevcut

Alıştırma 2: Herhangi Birini Örtük Olmadan Kesin Yazma

Egzersiz#ts.m7.l1.e2
Denemeler: 0Yükleniyor…

noImplicitAny: true altında, türü çıkarılamayan tüm parametreler açıkça yazılmalıdır. Bir dizi öğesini (sayı dizisi) kabul eden, prosesItems adında bir işlev ve bağımsız değişken olarak tek bir sayıyı alan ve hiçbir şey döndürmeyen bir geri çağırma işlevi oluşturun. Hiçbirini kullanmadığınızdan ve her şeyi açıkça yazdığınızdan emin olun.

Düzenleyici yükleniyor…
İpucu göster

İşlevi imza işleviyle bildirin ProcessItems(items: number[], callback: (item: number) => void): void.

3 denemeden sonra çözüm mevcut