NodeJS yapısı gereği modüler bir yapıda olduğunu NodeJS Nedir konulu yazımda sizlere söylemiştim ve ilk modülümüzün kullanımını da NodeJS Web Sunucusu Oluşturmak adımlarında yapmıştık. Şimdi modül kavramını biraz daha inceleyelim ve NodeJS modül oluşturmak nasıl yapılır ona bir bakalım.
Nesne tabanlı programlamanın temellerinden dolayı bir nesneyle bağlantılı tüm fonksiyon ve değişkenleri o nesneye ait dosyalarda saklamaktayız. İşte bu yapıyı korumak ve geliştirmek amacıyla NodeJS modüler bir yapıya sahiptir. Modül adı ile bağlantılı fonksiyonlar modül dosyasının içerisinde tanımlı olarak yer almaktadır. Biz de paket yöneticisi ile yeni paketleri indirebilir ve kendi paketlerimizi oluşturabiliriz. Siz bir nevi bu modülleri paket ya da kütüphane olarak düşünebilirsiniz.
Takdir edersiniz ki oluşturacağımız modül dosyaları da birer Javascript dosyasıdır. Ben matematik adında bir Javascript dosyası oluşturdum ve içerisinde bazı matematik işlemlerini yapacağım kodları ekliyorum. Ekledikten sonra bu Javascript dosyasının bir modül olduğunu da sisteme belirtmek için dosyanın en altına sihirli bir satır yazıyorum. Bu satırla belirtmiş olduğum dosyayı bir modülmüş gibi dışarı aktar demiş oluyorum.
var matematik ={
toplama:function(sayi1,sayi2){
console.log("Toplam "+ (sayi1+sayi2))
},
cikartma:function(sayi1,sayi1){
console.log("Çıkartma "+(sayi1-sayi2))
},
carpma:function(sayi1,sayi2){
console.log("Çarpma "+(sayi1*sayi2))
}
};
module.exports = matematik
Modüllerimizi require sihirli kelimesi ile kodlarımızın içine dahil ediyorduk. Yine aynı şekilde bir yol izleyeceğiz ancak bu sefer modülümüzün adını vermek yeterli olmayacaktır. Modülümüzün adıyla beraber dosya yolunu da require ile belirtmemiz gerekiyor.
var httpModulu = require('http')
var url = require('url');
var matematik = require('./matematik.js');
httpModulu.createServer(function(request,response){
var queryData = url.parse(request.url, true).query;
if(queryData.isim){
response.writeHead(200, {"Content-Type": "text/plain"});
response.end('Merhaba, ben '+queryData.isim+' !')
matematik.carpma(9,9);
}
else{
response.writeHead(401, {"Content-Type": "text/plain"});
response.end("Ad bilgisi girilmedi")
}
}).listen(8081)
Kodlarımı yukarıdaki gibi güncellediğimde web siteyi her açtığımda yani her isteğimde 9 ile 9’u çarpıp aşağıdaki kısma benim sonucumu sistem yazdıracaktır.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.
Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku
Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku
Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku
iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku
Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku
iPhone modellerinde güvenlik için Touch ID teknolojisini de Face ID teknolojisini de kullandık. iPhone SE… Daha fazla oku
Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır