Emit seçenekleri
- TypeScript kursu
- Uzman
- Ders 18/35
- 4 dk
outDir, noEmit ve emit seçeneklerini öğrenirsin.
Emit seçenekleri nedir?
Emit seçenekleri, TypeScript'in derleme sonunda hangi dosyaları üreteceğini belirler. outDir çıktı dizinini, noEmit üretimi tamamen kapatır, emitDeclarationOnly ise yalnızca .d.ts dosyalarını üretir. Bu ayarlar, derlemenin çıktısını denetlemenin temel yoludur.
{
"compilerOptions": {
"outDir": "dist",
"noEmit": false
}
}noEmit: true yalnızca tür denetimi için kullanılır; çıktı üretmez.
outDir ve rootDir
outDir, derlenen dosyaların yazılacağı dizini belirler. rootDir ise kaynak dosyaların kök dizinini tanımlar; bu, çıktı dizin yapısının kaynak yapısını yansıtmasını sağlar. İkisi birlikte kullanıldığında, çıktı yolu outDir altında rootDir'e göre kurulur.
{
"compilerOptions": {
"rootDir": "src",
"outDir": "dist"
}
}
// src/index.ts → dist/index.jsrootDir belirtilmezse TypeScript kökü otomatik çıkarır.
Uygulama Çıktı yolunu hesapla
Bir computeOutputPath fonksiyonu yaz: sourcePath, rootDir ve outDir alsın. Kaynak yolundan rootDir önekini çıkarıp outDir önini eklesin ve .ts uzantısını .js'ye çevirsin. computeOutputPath("src/index.ts", "src", "dist") sonucunu yazdır.
Başlangıç kodu
// computeOutputPath: kaynak yolundan çıktı yolunu üretir
// rootDir önekini çıkar
// outDir önekini ekle
// .ts uzantısını .js'ye çevir
// "src/index.ts", "src", "dist" için sonucu yazdırÖrnek çözüm
function computeOutputPath(sourcePath: string, rootDir: string, outDir: string): string {
const relative = sourcePath.startsWith(rootDir + "/")
? sourcePath.slice(rootDir.length + 1)
: sourcePath;
const withJs = relative.replace(/\.ts$/, ".js");
return outDir + "/" + withJs;
}
console.log(computeOutputPath("src/index.ts", "src", "dist"));Beklenen çıktı
dist/index.js
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 `noEmit: true` ne yapar?
- Hiçbir dosya üretmez, yalnızca tür denetimi yapar Doğru cevap
- Source map üretimini açar
- Çıktı dizinini değiştirir
- Yalnızca .d.ts üretir
Açıklama: noEmit: true çıktı üretimini tamamen kapatır ve yalnızca tür denetimi yapar; outDir dizini değiştirir, emitDeclarationOnly yalnızca .d.ts üretir, sourceMap ise harita üretir.
2 Çıktı dizinini ayarla
{
"compilerOptions": {
"____": "dist"
}
}
{
"compilerOptions": {
"outDir": "dist"
}
}
Açıklama: outDir çıktı dizinini belirler; rootDir kaynak kökü, noEmit üretimi kapatır, emit ise geçerli bir seçenek adı değildir.
3 Emit parçaları
| Kavram | Anlamı |
|---|---|
outDir |
çıktı dizinini belirler |
rootDir |
kaynak kök dizinini belirler |
noEmit |
üretimi tamamen kapatır |
emitDeclarationOnly |
yalnızca .d.ts üretir |