NodeJS projesine Typescript desteği eklenmesi

Tayfun YUGRUK
Kod42 Akademi
Published in
3 min readJan 21, 2021

NodeJS alt yapısı Javascript dili ile server uygulamalari geliştirmemizi mümkün kılmıştır. Piyasaya cıktığı 2011 yılından itibaren cok hızlı şekilde yaygınlaşmıştır ve beraberinde büyüyen kod tabanları Javascript’in dinamik ve zayıf veri tipi yapısı nedeni ile geliştirmelerde zorluklar yaratmıştır.

Server uygulamaları geliştirmekte kullanılan diğer dillerden gelen insanlar Javascript’in bu zayıf yönlerinden çok şikayet etmektedir ve bu açığı kapatmak için Typescript gündeme gelmiştir.

Typescript Javascript dilinin güçlü şekilde type desteği eklenmiş bir versiyonu diyebiliriz. Typescript kodları ara dönüşüm yapılarak Javascript kodlarına dönüştürülmektedir yani günün sonunda çalışan kod Javascript kodudur fakat geliştirme yaparken Typescript dili özellikleri ile geliştirme yapıyoruz.

Typescript’in faydalarından bazıları şunlardır :

  • Opsiyonel static tipler ( number, string vs )
  • Tip takibi
  • Interface yapısını desteklemesi

Bu yazıda Express framework’u kullanan bir NodeJS uygulamasını Typescript desteği ile oluşturacağız.

Bilgilendirme

Bu yazıda anlatacağım NodeJS içinde typescript örneğini gerçek bir server uygulamasında görmek isterseniz Sıfırdan Startup — Code42Labs App serisini takip etmenizi tavsiye ederim. Server alt yapısını NodeJS + Typescript ile geliştiriyorum.

Ayrıca bu yazıda anlattığım detayları github üzerindeki proje içinde hazır şekilde bulabilirsiniz.

Adım 1 — NodeJS projesinin hazırlanması

mkdir project1
cd project1

Sonraki adımda npm projesini oluşturuyoruz, bu noktada sadece npm i dersek bize bir sürü ayarsal sorular soracağı için varsayılanlarlar kurulum yapması için npm i -y cağıracağız

npm init -y

Adım 2 — Kütüphanelerin kurulması

İlk olarak Typescript kütüphanesini kuracağız

npm install -D typescript@3.3.3
npm install -D tslint@5.12.1

komutlardaki -D ile aslında –save-dev’in yaptığı işlemi yaptırıyoruz.

Typescript kurulumu sonrasında express kütüphanesini kuruyoruz.

npm install -S express@4.16.4
npm install -D @types/express@4.16.1

Yukarıdaki kütüphanelerden @types/express Typescript’in express framework’unu type’lar ile görebilmesini sağlamaktadır.

Adım 3 — Typescript’in konfigure edilmesi

Typescript ayarlarını tsconfig.json adındaki dosya ile yönetebiliyoruz ve bu dosya projenin ana dizininde yer almalıdır.

tsconfig.json

JSON içindeki ayarların bazılarının açıklaması şu şekildedir:

  • module: Module kodunu üretirken kullanılan metodu belirtir. Nodejs icin commonjs’dir.
  • target: Hedef dil seviyesini belirtir
  • moduleResolution: Bu ayar sayesinde typescript complier’a import yapısını nasıl kurması gerektiğini belirtiriz. NodeJS icin node ayarını kullanıyoruz.
  • outDir: transpilation işlemi sonucunda yani ts dosyalarının okunup js dosyalarına dönüştürülmesi sonrasında, oluşan dosyaları nereye kaydetmek istediğimizi belirttiğimiz ayar.

Bu noktaya kadar typescript ayar dosyasını hazırladık, bu noktada ise tslint ayar dosyasını hazırlayacağız. Peki tslint neden ayarlıyoruz ? tslint kodumuzu inceleyip kodumuzu kurallara göre düzgün yazılmışmi kontrol edip bizi bilgilendiriyor.

./node_modules/.bin/tslint — init

komutu ile tslint ayar dosyasının oluşmasını sağlıyoruz.

Adım 4 — En temel express sunucusunun hazılanması ve ayarlanması

Typescript ayarlarını tamamladıktan sonra sırada express framework kurup projemizi hazırlayabiliriz

npm ile init ettiğimiz projenin içinde src adında bir klasör oluşturuyoruz ve içine app.ts adındaki dosyamızı oluşturuyoruz.

Express framework kurmak için aşağıdaki komutu vermeliyiz

npm i express

Herşeyi hazırladık gibi görünüyor ve projeyi ayağa kaldırabiliriz bunun için yapmanız gereken aşağidaki komutu vermek

./node_modules/.bin/tsc && node dist/app.js

Ve Typescript ile geliştirdiğimiz ilk projemizi çalıştırdık !

ts kodundan oluşan js dosyasını dist klasörü içerisinde bulabilirsiniz.

Gördüğünüz gibi typescript bize statik dillerin güzelliğini JS dünyası ile birleştirmemize gayet başarılı şekilde yardımcı oluyor.

Benim 15 yıllık yazılım geliştirme tecrübeme göre tavsiyem eğer NodeJS projesi geliştirecekseniz mutlaka Typescript entegre edin hem kod tamamlama hem de kod hatalarını geliştirme yaparken görme kolaylıkları sayesinde uygulamalarınızın kalitesi artacaktır.

--

--