Node.js ile basit bir sayfa hazırlanması

Node.js kurulumuyla alakalı makalemizin ardından basit seviyede bir websayfasının nasıl oluşturulduğunu bu makalemizde inceleyeceğiz. Ubuntu kurulu serverinizde Node.js kurulumunun nasıl gerçekleştirildiği ile alakalı makalemizi Ubuntu da Node.js kurulumu başlıklı makalemizden okuyabilirsiniz. Şimdi adım adım basit bir websayfasının nasıl oluşturulduğunu inceleyelim.

1. Dosya oluşturulması: 
Öncelikle nodejs programının çalıştırılacağı app.js isimli dosyamızı oluşturalım. Bu dosya ismi opsiyoneldir. Yani dosya ismini istediğiniz şekilde değiştirebilirsiniz ancak dosya uzantısı .js olmalıdır.
sudo touch app.js

2. Webserver oluşturulması: 
Websitesi oluşturacağımızdan dolayı webservere ihtiyaç duymaktayız. Node.js tabanlı uygulamaların çoğunda http modülüne rastlayabilirsiniz. Websiteleri servera ihtiyaç duyduklarından bu modül önemli bir yer tutmaktadır. Aşağıda bulunan komutla app.js isminde oluşturduğumuz dosyaya erişip http modulunü tanımlayalım. Sonrasında tanımlanan http serveri 1111 portu üzerinden dinleyecek şekilde ayarlayalım.
#app.js dosyasının içerisine girildi.
vi app.js

#http modülü oluşturuldu.
var http = require("http");

http.createServer(function(req, res){ }).listen(, '127.0.0.1');
Yukarıdaki komutla birlikte 1111 portundan 127.0.0.1 üzerinde çalışan bir webserver oluşturulmuş oldu. Şu an gelen istekler bu port üzerinden dinlenmektedir. Sırada gelen isteklere cevapların nasıl iletileceği ile alakalı kodlamayı gerçekleştirelim.

3. Dönecek response tipinin belirlenmesi: 
http modülünden bulunan function değişkenleri kullanarak iletilen request ve responseler ile alakalı çalışmalarımızı gerçekleştirebiliriz. Burada req ve res olarak adlandırılan parametreler aslında request(istek) ve response(cevap) anlamına gelmektedir. Dönecek response tipini belirlemede res.writeHead() metodu kullanılmaktadır. Sunucuya yapılan istekler sonucunda geri dönecek olan içeriklerin tipinin nasıl olması gerektiğini aşağıda bulunan komutlarla function metodu içerisinde gerçekleştirebiliriz:
res.writeHead(200, {'Content-Type': 'text/html'});
Eğer herhangi bir api hazırlıyorsanız nodejs kullanarak, Content-Type verisini application/json olarak girmeniz gerekecektir. Biz basit bir websitesi oluşturmak istediğimizden dolayı text/html olarak içerik tipini belirledik.

4. Response olarak basit bilgilerin yazılması: 
Şimdi sırada response olarak dönmesini istediğimiz içeriğin girilmesini gerçekleştirelim. Burada res.write() metodu kullanılmaktadır:
res.write('<!doctype html>\n<html lang="en">\n' + 
          '\n<meta charset="utf-8">\n<title>Node.js ile basit bir sayfa</title>\n' + 
          '<style type="text/css">* {font-family:arial, sans-serif;}</style>\n' + 
          '\n\n<h1>En popüler programlama dilleri</h1>\n' + 
          '<div id="content"><p>Son 3 yıla ait en popüler programlama dilleri:</p>\n'+
          '<ul><li>Java</li><li>C#</li><li>Ruby</li><li>Nodejs</li></ul></div>' + 
          '\n\n');
Daha sonrasında http servere ait response verisinin döndüğünü belirtmek için res.end() metodunu çağırırız. Böylelikle websitesi içeriğine gelmesi gereken verilerin geldiğini ve sunucudan daha fazla talepte bulunamayacağımızı anlamış oluruz.
res.end()
5. Sitenin çalıştırılması : 
Tüm kodlamalar gerçekleştirildi. Eklenen kodlamalar sonucunda oluşması gereken kod parçacığı tam olarak şu şekilde olmalıdır:
var http = require('http'); 

http.createServer(function(req, res) { 

    res.writeHead(200, { 'Content-Type': 'text/html' }); 
    
    res.write('<!doctype html>\n<html lang="en">\n' + 
              '\n<meta charset="utf-8">\n<title>Node.js ile basit bir sayfa</title>\n' + 
              '<style type="text/css">* {font-family:arial, sans-serif;}</style>\n' + 
              '\n\n<h1>En popüler programlama dilleri</h1>\n' + 
              '<div id="content"><p>Son 3 yıla ait en popüler programlama dilleri</p>\n' + 
              '<ul><li>Java</li><li>C#</li><li>Ruby</li><li>Nodejs</li></ul></div>' + 
              '\n\n'); res.end(); 
         
}).listen(1111, '127.0.0.1');
Aşağıdaki komutla nodejs uygulamamızı çalıştıralım.
node app.js
Çalıştırılan komutla birlikte browserimizde http://127.0.0.1:1111 linkine erişim yaptığımızda aşağıdaki şekilde bir sayfa ile karşılaşmamız gerekmektedir.

comments powered by Disqus