Node.js Router Sınıfı

KOGLAK
3 min readJul 6, 2020

Daha önceki yazımda her bir isteğe göre express.js ile yönlendirme yapmıştık. Ancak sitelerde istek sayısı oldukça fazla olabiliyor ve hepsini app.js içerisinde yazmak oldukça karmaşıklaşabiliyor.

Bundan dolayı express modülü yönlendirme işlemi için Router sınıfını belirlemiştir.

Aşağıda birinci kod app.js, ikinci kod ise controller.js dosyamıza ait.

Controller.js içerisinde router sınııfını çağırabilmemiziçin ilk önce express modülünü bu sayfaya çağırıyoruz, ardından router sınıfını express üzerinden sayfamıza getiriyoruz. Index ve login controllerlarını yazıyoruz böylece isteklere göre verilecek cevapları belirlemiş oluyoruz.Ardından router yönlendiricisi ile istek’e göre hangi controller’a gitmesi gerektiğini ( router.get(‘/’,module.exports.index);) belirtiyoruz.Son olarak router’ı bu dosya içerisinden export ederek,app.js içerisinde kullanıma hazır hale getiriyoruz.

app.js içerisinde ilk önce route objesine controller2.js isimli dosyamızı import ediyoruz. Ardından app.use() ile her bir isteğin nereye yönlendirilmesi gerektiğini belirtiyoruz.

Ancak şimdi de controller sayfamız oldukça karmaşık hale geldi. Bunun içinde controller ve router sayfalarımızı ayırmamız gerekiyor.

Controller.js sayfamızda sadece cevaplarımızı bırakıyoruz. module.exports. kullanarak bu cevapların başka sayfalar tarafından kullanılabilmesine olanak sağlıyoruz.

Router.js isimli yeni dosya oluşturuyoruz. Router sınıfını çağırabilmek için önce express modülünü sonra modül üzerinden router sınıfını çağırıyoruz. Controller’ı burada kullanacağımız için require ile Router.js sayfasına import ediyoruz. Sonra router.get ile yönlendirmelerimizi yapıyoruz.

app.js dosyamızda ise sadece router.js dosyasını require ile import edip, app.use içerisinde direk router yönlendiricisine tanımlıyoruz.

Bitirmeden birde routerManager yapalım! Routermanager.js isimli dosya yaratalım ve kullandığımız bütün routerları bu dosyaya çalışalım.

Ardından module.exports ile başka sayfada kullanılabilir hale getirelim ve bir fonksiyon yazalım. Bu fonksiyon app değişkeni alsında ve app değişkeni url parametresine göre doğru routera yönlendirme yapsın!

Böylece app.js dosyamıza ne kontroller ne router yazmamıza gerek kaldı. Sadece tek bir satır yazacağız! routemanager’ı çağırıp app’i değişken olarak fonksiyona vereceğiz. Artık app.js’e yönlendirmeler için başka bir kod yazmamıza gerek kalmayacak!

Express ve router sınıfı ile daha kompakt kodlar yazabiliyoruz. Ben bu yazımda youtube’da Bilgisayar Mühendisliği sayfasından oldukça destek aldım. Eğitim videolarını izlemenizi tavsiye ederim.

Son olarak bir sonraki yazımı okumak için tıklayabilirsiniz: Node.js ve EJS Formatı.

--

--