glob - typescript tsconfig.json include exclude çalışmıyor


Bir web projem var

Benim klasörlerim var

src/app/shared/models
src/app/shared/services
src/app/shared/types

Bunların her biri içinde klasörler veya dosyalar bulunan alt klasördür, bu klasörleri hariç tutmak istiyorum, bu yüzden şunu denedim:

  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts",
    "src/app/shared/**/*"
  ]

ve çalışmıyor, hatta "src/app/shared/*" bile çalışmıyor, Bunu nasıl yapabilirim?

Benim tsconfig.json dosyam şimdi:

{
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2015",
      "dom"
    ]
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts",
    "src/app/shared/**/*"
  ]
}

Teşekkürler

Cevap #1

Kullanılacak dosyaları listelemek için "exclude" anahtar kelimesini kullanmaya karar verirseniz, dikkate almanız gereken ilk şey, derleme sürecinden kaldırmak için, üçlü eğik çizgi yönergesi "/// " veya bir "import" ifadesiyle hariç tuttuğunuz listedeki bir dosyaya başvuran diğer dosyaları da hariç tutmanız gerekeceğidir.

tsconfig.json bir klasörü “proje” haline getirir. Herhangi bir “exclude” veya “files” girdisi belirtmeden, tsconfig.json dosyasını içeren klasördeki ve tüm alt dizinlerindeki tüm dosyalar derlemenize dahil edilir.

tsconfig.json otomatik ekleme, modül çözümlemesini gömmez. Derleyici bir dosyayı bir modül ithalatının hedefi olarak tanıdıysa, önceki adımlarda hariç tutulmuş olsa bile derlemeye dahil edilecektir.

include ve exclude özellikleri, glob benzeri dosya desenlerinin bir listesini alır. Desteklenen glob joker karakterleri şunlardır:

  • * sıfır veya daha fazla karakterle eşleşir (dizin ayırıcıları hariç)
  • ? herhangi bir karakterle eşleşir (dizin ayırıcıları hariç)
  • **/ herhangi bir alt dizini özyinelemeli olarak eşleştirir

files özelliğini kullanırken, göreli veya mutlak dosya yollarından oluşan bir liste alır.

Ayar "baseUrl", derleyiciye modülleri nerede bulacağını bildirir. Göreli olmayan tüm modül ithalleri baseUrl'e göre göreli olarak varsayılır.

"include" kullanılarak dahil edilen dosyalar, "exclude" özelliği kullanılarak filtrelenebilir. Ancak, "files" özelliği ile dosyaları açıkça dahil ederseniz, "exclude" ne olursa olsun her zaman dahil edilirler.

İlgili makaleler