Focus mode

Node.js

Routing - Yönlendirme

Yönlendirme (Routing)


Yönlendirme Routing genel olarak belirli bir adrese, belirli bir HTTP metodu (GET, POST vs..) ile gelen isteğe ne şekilde cevap verileceğini gösterir. Aşağıdaki örneğimizde gördüğümüz gibi root\about isteğine karşılık olarak about template 'in render edilmesi belirtiliyor.


app.get('/about', (req, res) => {
    res.status(200).render('about', {
        page_name: "about"
    });
  });


PCAT projemizde yönlendirmeleri app.js dosyası içerisinde yazmıştık. SmartEdu projemizde ise yönlendirmeleri ayrı bir routes klasörü içerisinde ayrı yönlendirme dosyaları oluşturacağız. Önce app.js tarafındaki ana yönlendirmelere bakalım.


app.use('/', pageRoute);  //


Yukarıda da gördüğümüz gibi, şu an için tüm gelen istekler pageRoute'a yönlendiriliyor, sadece bu yönlendirmemiz mevcut. routes/pageRoute.js dosyasına gittiğimizde ise burada iki adet yönlendirme var.


router.route('/').get(pageController.getIndexPage);
router.route('/about').get(pageController.getAboutPage);


/ yani http://localhost:3000/ adresine karşılık getIndexPage, /about yani http://localhost:3000/about adresine karşılık getAboutPage fonksiyonu çalıştırılacak. Bu fonksiyonların çalıştırılacağı controllers/pageController.js dosyasına baktığımızda ise ilgili fonksiyonların bu dosya içerisinde oluşturulduğunu göreceğiz. İlgili fonksiyonlar aşağıdadır:


exports.getIndexPage = (req, res) => {
  res.status(200).render('index', {
    page_name: 'index',
  });
};

exports.getAboutPage = (req, res) => {
  res.status(200).render('about', {
    page_name: 'about',
  });
};


Proje GitHub


Çalışma Özel GitHub


Daha Fazlası İçin


Patika Plus Banner

Yazılım Kariyerinde İlerlemeni Hızlandıracak Eğitimler

Kendi kendine yazılım öğrenirken zorlanıyor, takıldığın noktalarda bir mentore mi ihtiyaç duyuyorsun? Patika+ programlarımız ile 4-8 aylık yoğun eğitim kamplarına katıl, proje tabanlı canlı dersler ve sana özel hazırlanmış eğitimlerle gereken tüm yetenekleri kazan, iş hayatına başla!

Test

Comments

You need to enroll in the course to be able to comment!