Node.js Express Kullanımı

Node.js Express Kullanımı

Hepinize merhaba dostlarım 😊. Bu yazımda sizlere Node.js üzerinde express kullanımını göstererek gelen http isteklerini alma ve bunlara cevap verme işleminden bahsedeceğim.

Express işlemine genel olarak bakacak olursak dostlarım aslında PHP programlama dilindeki gibi bir server oluşturmaya ve bu server üzerindeki belirli bir portun dinlenerek client tarafından gelen istekleri karşılama ve bu isteklere cevap verilme işlemlerini bizim için hızlı bir şekilde gerçekleştiriyor. Kısaca PHP projelerinin JavaScript üzerinden gerçekleşirilmesi olarak diyebiliriz. Günümüzde gitgide popülerliği artan Node.js programlama dili üzerinde express modülüne artık geçelim sözü biraz fazla uzattık gibi geldi :).

Öncelikle bir klasör oluşturalım. Ben klasörümün adına node-js-express ismini verdim. Daha sonra CMD üzerinden bu klasör içerisine eriştikten sonra

npm init

komutunu yazıyorum ve enter enter diye diye projemi npm ile ilişkilendiriyorum (bu aşamada takılan dostlarım varsa buradan ulaşabilir). Projeyi npm ile ilişkilendirdikten sonra express modülümüzü kurmaya geçelim. Hemen projemizin kök klasöründe CMD yi açıp

npm install --save express@4.15.2

komutunu yazalım. Burada ben express modülünün genelde 4.15.2 olan versiyonunu kullanıyorum (socket.io işlemlerinde diğer sürümler hata vermişti o yüzden bu sürümü kullanıyorum). Bu modülümüzü kurduktan sonra kontrolümüzü yapalım gerçekten bu modül projemize eklenmişmi diye. Hemen kök dizin içerisindeki package.json dosyasını açalım.

{
  "name": "js-express",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "MFS",
  "license": "MIT",
  "dependencies": {
    "express": "^4.15.2"
  }
}

Dosya içeriğini incelediğimiz zaman dependencies kısmında express modülünü ve versiyon numarasını görüyoruz. Yani işlemlerimiz sorunsuz bir şekilde tamamlanmış, modülümüz rahat bir şekilde kurulmuştur. Şimdi proje klasörümüz içerisinde bir index.js dosyası oluşturalım. Daha sonra 

const express = require('express')   // Modülümüzü dahil ettik
const app = express()   // Modülümüzü çalıştırdık

şeklinde kodlarımızı yazalım. Burada projemiz içerisine kurduğumuz express modülümüzü dahil ettik ve bu modülü çalıştırıp app isimli bir değişkene aktardık. İşlemler buraya kadar tamam. Şimdi bizim http isteklerini almamız için (GET,POST,DELETE,PATCH vs) öncelikle bir port dinlemesi yapmamız lazım. Bunun için de index.js dosyamızın içerisine gelip en alt kısımda

             // Port numarasını belirttik
app.listen(3000,function () {
    console.log("3000 Portu Dinleniyor")    // Port dinlendiğine dair mesaj
})

şeklinde kodumuzu yazdık. Hani yukarıda express modülünü çalıştırmıştık ya işte bu kısımda da çalışan express modülü üzerinden port dinlemesi işlemini yapıyoruz. Ek olarak belirtmek gerekirse 3000 olarak belirttiğim port numarası illa 3000 olacak diye bir kural yok 5000 de yazabilirsiniz 7000 de yazabilirsiniz size kalmış o :). Şimdi gelelim bu portumuz gerçekten dinleniyor mu test etmek için proje kök klasörümüzde terminalimizi açıp

node index.js

komutumuzu yazıyoruz. Daha sonra console kısmında bize verilen mesajı incelediğimizde 

3000 Portu Dinleniyor

şeklinde bir çıktı olduğunu görüyoruz. Yani bu kısma kadar işlemlerimiz sorunsuz bir şekilde ilerliyor dostlar. Şimdi gelelim örnek 2 sayfa yapalım. Bunlardan birisi anasayfa olsun, diğeri ise hakkımda sayfası olsun. Hemen kodlama kısmına gelip

const express = require('express')
const app = express()

app.get('/',function (req,res) {   // Anasayfa için karşılanacak istek
    res.send("Anasayfa")    // Gelen isteğe karşılık olarak bu cevabı ekrana gönder
})

app.get("/hakkimda",function (req,res){    // Hakkımda için karşılanacak istek
    res.send("Hakkımda")   // Gelen isteğe karşılık olarak bu cevabı ekrana gönder
})

app.listen(3000,function () {
    console.log("3000 Portu Dinleniyor")
})

şeklinde kodlarımızı yazdık. Bu kısımda app.get() yazdığımızda get() fonksiyonu 2 adet parametre alıyor. Bu parametrelere bakacak olursak

  1. Birinci Parametre: Web browser üzerinden karşılanacak olan istek
  2. İkinci Parametre: Bu istek sonucu çalışacak olan callback fonksiyon. Bu fonksiyon da kendi içerisinde 2 adet parametre alır. Bunlara bakacak olursak
    1. Birinci Parametre: İstek (req) parametresi
    2. İkinci Parametre: Cevap (res) parametresi

şeklindedir. Şimdi kodlarımızın ufaktan ufaktan çalışmasını inceleyelim. Öncelikle projemizin kök dizininde terminalimizi açıp 

node index.js

komutunu yazıp Enter tuşuna bastığımızda

3000 Portu Dinleniyor

şeklinde bir çıktı verilecektir. Daha sonrasında browser üzerinde adres çubuğuna

localhost:3000

yazdığımızda hemen hızlıca

app.get('/',function (req,res) {
    res.send("Anasayfa")
})

belirtilen kod kısmı çalışacak ve ekrana Anasayfa yazısını bastıracaktır. Bu kısımdaki res.send("Anasayfa") komutunun görevi budur. Adres çubuğuna gelip

localhost:3000/hakkimda

yazdığımız zaman ise

app.get("/hakkimda",function (req,res){
    res.send("Hakkımda")
})

kısmı çalışacak ve ekranımıza Hakkımda yazısını yazacaktır. Bu kısımdaki res.send("Hakkımda") komutunun görevi de budur. İşlemler gayet basit ve kolay dostlarım. Gelelim biz de kendimiz için bir istek ve bu isteği karşılayacak cevap oluşturalım. Burada cars isimli bir istek atalım ve ekranımıza araba markalarını yazdıralım. O halde sözü daha fazla uzatmadan hemen kodlama kısmına geçelim. Oluşturduğumuz index.js dosyasına gelip

app.get("/cars",function (req,res){
    let cars = ["Rolls Royce", "Chrysler", "Mercedes"]   // dizi oluşturduk
    var message = "";   // verdireceğimiz mesajı oluşturduk
    cars.forEach(function (value,index) {
        message += (index + 1) + ". Araba: " + value + " / ";   // dizi içerisini tek tek döndük ve mesajımızı oluşturduk
    })
    res.send(message)   // ekranımıza mesajımızı bastırdık
});

şeklinde kodlarımızı yazalım. Terminal kısmımıza gelip 

node index.js

komutumuzu yazıp enter tuşuna basalım. Daha sonrasında ise browser kısmımıza gelip adres çubuğumuza 

localhost:3000/cars

yazdığımızda bize dönecek olan sonuç

1. Araba: Rolls Royce / 2. Araba: Chrysler / 3. Araba: Mercedes /

şeklinde olacaktır. Kodlarımız sorunsuz bir şekilde çalıştığını, İsteğimizin dinlendiğini ve başarılı bir şekilde cevap verildiğini açıkça görmüş olduk. Bütüün işlemler bu kadar basit dostlarım hiçbir zor kısmı yok :)

 

Eveeeet dostlarım 😊. Bu yazımda sizlere Node.js üzerinde express tanımından ve kullanımından elimden geldiğince dilim döndüğünce anlatmaya çalıştım. Umarım faydalı olmuşumdur. Eksik veya hatalı bir anlatım yapmış isem benimle iletişime geçmekten çekinmeyin. Konu başlarda biraz karmaşık veya zor gelebilir dostlarım anlıyorum. Bu aşamada sizlerden yapmanızı istediğim tek şey her yazımın altında da dediğim gibi "İstikrarlı ve Azimli Olmalısınız, Bolca Pratik Yapmalısınız". Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır.

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıJavascript Kodlama Kuralları
Sonraki YazıLaravel Query Builder İşlemi -2-
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz