Typescript ile Nodejs Express Projesi Oluşturmak

Öncelik Typescript kullanmaya neden gerek duyduğumuz hakkında biraz konuşalım.

JavaScript ilk tasarlanırken büyük ölçekli uygulama geliştirmek için tasarlanmamıştır. Yani Javascript’te C#, Java ‘da olduğu gibi classlar, interfaceleri modüller vb. yapılar mevcut değil. Bu durum JavaScript ile büyük projelerde development yapmayı zorlaştırıyor.

Derken imdadımıza TypeScript yetişiyor. TypeScript, JavaScript’in sıkıntılı yanlarından bizi kurtarır ve büyük ölçekli uygulamalar geliştirmemizi sağlar. TypeScript, JavaScript’in sağladığı tüm imkanları sağlarken üzerine enum, interface(ve daha fazlası) gibi yapıları kullanabilmemize imkan sağlıyor. Bu nedenle TypeScript JavaScript’in bir üst kümesidir diyebiliriz.

TypeScript Nasıl Çalışır?

TypeScript kodu derlendiğinde aslında çıktı olarak JavaScript kodu üretiliyor. Yani Typescript içerisinde kullandığımız enum, interface gibi yapılar geçerli bir Javascript koduna çevriliyor. Kodumuzun düzenini sağlamak için kullandığımız bazı yapılar ise(örneğin interfaceler) JavaScripte bile çevrilmiyor. Onlar sadece derleme işlemi sırasında Typescript tarafından kullanılıyor. Böylece temiz bir Javascript çıktısı elde ediyoruz. Ayrıca Typescript sadece derleme esnasında görev aldığı için çalışma zamanında TypeScript ‘ten doğabilecek bir performans sorunu da söz konusu değil. Çünkü Typescript kodu derlenip Javascript kodu üretildiğinde Typescript ‘in işi burada bitiyor. Bunun yanında dışarıya çıkan kod tamamen JavaScript olduğu için TypeScript kullandığınız için herhangi ekstra bir runtime veya kütüphane vs.. kullanmanız gerekmiyor.

Haydi başlayalım..

Öncelikle projemiz için bir klasör oluşturalım. Terminali açarak klasörü nerede oluşturacak isek o klasörün içine gidelim ve projemizin klasörünü oluşturalım.

cd Desktop
mkdir typescript-node

Proje klasörümüzün içine girelim ve bir “package.json” dosyası oluşturalım.

npm init 

bu komutu yazdıktan sonra elinizde aşağıdaki gibi bir dosya olacaktır.

Şimdi ilgili paketleri “npm” aracılığı ile kuralım ve devam edelim. Aşağıdaki komutları sırasıyla uygulayınız.

npm i @types/express @types/node nodemon ts-node typescript -D
npm i express

Komutları uyguladıktan sonra package.json dosyası aşağıdaki gibi olacaktır.

Şimdi “script” tag’ı arasına aşağıdaki komutları ekleyelim.

"start": "node dist/app.js",“dev": "nodemon app.ts",“build": "tsc -w"

start, dev, ve build komutlarını da ekledikten sonra sıra tsconfig.json dosyasınu oluşturmaya geldi. Aşağıda ki komut ile dosyayı oluşturalım ve içeriğini ekleyelim.

nano tsconfig.json

Açılan sayfaya aşağıda ki içeriği ekleyelim.

Tüm ayarlar tamamlandıktan sonra sıra express sunucumuzu ayağa kaldırmaya geldi. Proje dizinimizde “app.ts” adında bir dosya oluşturalım ve express’i ayağa kaldıralım.

Çalıştıralım ve test edelim 🙂 Aşağıda ki komutları sırasıyla uygulayın.

npm install
npm run build
npm start

Her şey yolunda gittiyse aşağıda ki gibi bir sonuç göreceksiniz.

Application is listen 3000

Tarayıcınızdan “localhost:3000” e giderek sonucu görebilirsiniz. Sonuç aşağıda ki gibi olmalıdır.

{success:true, message:"Hello world"}