- Konu sahibi
- #1
TypeScript’te bir içe aktarma yoluna takma ad vermek için
Aşağıdaki varsayımsal örnekte proje kökünde
Bu eşleme, örneğin
Şimdi
Aynı klasördeki
Örneği doğrudan Node.js üzerinde çalıştırmak için proje kökündeki
Burada
Dosyaları kaydedip proje kökünde sırasıyla şu komutları çalıştırın:
İlk komut başarılıysa
Modül bulunamıyorsa önce hata aşamasını ayırın. Derleme hatasında
tsconfig.json dosyasındaki compilerOptions.paths alanını kullanın. Ardından aynı eşlemeyi kodu çalıştıran veya paketleyen araçta da tanımlayın: TypeScript’in yol eşlemesi, üretilen JavaScript’teki import yolunu değiştirmez.Yol takma adını tanımlayın
Aşağıdaki varsayımsal örnekte proje kökünde
tsconfig.json ve package.json, bunların yanında da src klasörü bulunur. TypeScript’in projede kurulu olduğunu varsayın. tsconfig.json dosyasını oluşturun veya mevcut ayarlarını koruyarak ilgili alanları ekleyin:
JSON:
{
"compilerOptions": {
"module": "nodenext",
"rootDir": "./src",
"outDir": "./dist",
"paths": {
"#app/*": ["./src/*"]
}
},
"include": ["src"]
}
Bu eşleme, örneğin
#app/math yolunu TypeScript’in src/math.ts dosyasında aramasını sağlar. Yıldız, takma addan sonraki kısmı hedef yola taşır. baseUrl tanımlı değilse hedef yol tsconfig.json dosyasının bulunduğu klasöre göre yorumlanır; bu örnek için ayrıca baseUrl eklemek gerekmez. Mevcut bir projede baseUrl varsa hedefi ona göre uyarlayın.Şimdi
src/math.ts dosyasını oluşturun:
Kod:
export function topla(a: number, b: number): number {
return a + b;
}
Aynı klasördeki
src/main.ts dosyasında fonksiyonu takma adla içe aktarın:
Kod:
import { topla } from "#app/math";
console.log(topla(2, 3));
Node.js için çalışma zamanı eşlemesini ekleyin
Örneği doğrudan Node.js üzerinde çalıştırmak için proje kökündeki
package.json dosyasına aşağıdaki alanları ekleyin; dosyada zaten başka alanlar varsa onları silmeyin:
JSON:
{
"type": "module",
"imports": {
"#app/*": "./dist/*.js"
}
}
Burada
paths TypeScript’i kaynak dosyalara yönlendirirken imports, Node.js’i derlenmiş JavaScript dosyalarına yönlendirir. #app öneki bu örnekte Node.js’in paket içi import eşlemesiyle kullanılmak üzere seçilmiştir.Dosyaları kaydedip proje kökünde sırasıyla şu komutları çalıştırın:
Kod:
npx tsc -p tsconfig.json
node dist/main.js
İlk komut başarılıysa
dist klasöründe JavaScript çıktısı oluşur. İkinci komutun 5 yazdırması, örnekte hem derlemenin hem de Node.js’in takma adı çözmesinin başarılı olduğunu gösterir. Yalnızca TypeScript’in hata vermemesi ise çalışma zamanı eşlemesinin doğru olduğunu kanıtlamaz.Modül bulunamıyorsa önce hata aşamasını ayırın. Derleme hatasında
paths hedefini, dosya adını ve kullanılan tsconfig.json dosyasını kontrol edin. Derleme başarılı fakat Node.js hata veriyorsa package.json içindeki imports hedefinin oluşan dist/math.js dosyasına karşılık geldiğini doğrulayın ve yeniden derleyin. Paketleyici kullanan bir projede ise Node.js örneğindeki eşlemeyi otomatik varsaymayın; seçtiğiniz paketleyicinin çözümleme ayarlarında aynı takma adı tanımlayın.