TypeScript
Emit seçenekleri
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.js
rootDir 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.
Örnek çözümü göster
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"));
Kendini test et
-
`noEmit: true` ne yapar?
- Hiçbir dosya üretmez, yalnızca tür denetimi yapar
- Source map üretimini açar
- Çıktı dizinini değiştirir
- Yalnızca .d.ts üretir
Cevabı göster
Hiçbir dosya üretmez, yalnızca tür denetimi yapar — 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.
-
Çıktı dizinini ayarla
{
"compilerOptions": {
"____": "dist"
}
}
Cevabı göster
{
"compilerOptions": {
"outDir": "dist"
}
}
-
Emit parçaları
- outDir
- çıktı dizinini belirler
- rootDir
- kaynak kök dizinini belirler
- noEmit
- üretimi tamamen kapatır
- emitDeclarationOnly
- yalnızca .d.ts üretir
Sıradaki ders: Source map