Node.JS url Modülü

Node.JS url Modülü

Node.JS url Modülü

  4 dakika Okuma Süresi
Merhabalar, Node.JS derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde Node.JS'de url modülü ve kullanımını anlatacağım. Hadi başlayalım !

İlk önce bu modül ne işe yarıyor ondan bahsedelim.
Bu modül sayesinde url yani linkler üzerinde işlemler yapabiliyoruz.
Modülü kullanabilmek için ise tüm modüllerde olduğu gibi kullanmak istediğimiz sayfada çağırmamız gerekiyor. url modülü Node.JS ile beraber geldiği için herhangi bir kuruluma gerek yok.
Hadi bi sayfada çağıralım;
const url = require('url');
Şimdi de ne gibi işlemleri nasıl yapacağımızdan sırasıyla bahsedelim;

url.parse(): Bu fonksiyon parametre olarak aldığı url'yi parçalayarak host adresi, port numarası, get parametreleri gibi bilgileri bize Url nesnesi olarak geri döndürüyor. Örneğin http://localhost:3000/deneme.html?q=deneme&q2=deneme3 şeklinde olan bir url için deneyelim;
console.log(url.parse('http://localhost:3000/deneme.html?q=deneme&q2=deneme3'));
Bu kodu bi Javascript dosyasına yazıp çalıştırdığınızda şöyle bir çıktı almanız gerek;
Node.JS url Modülü
Ayrıca dönen veri bi Url nesnesi olduğu için istediğimiz bir özelliğe de erişebiliyoruz. Elbette geriye nesne döndüğü için istediğimiz özelliğe nesne.özellik şeklinde ulaşıyoruz.
Örneğin az önceki örnekte dönen veriden host özelliğine erişelim;

let sonuc = url.parse('http://localhost:3000/deneme.html?q=deneme&q2=deneme3');
console.log(sonuc.host);
Bu kodları da yazıp çalıştırdığınızda ekranda localhost:3000 yazdığını göreceksiniz.

url.format(): Bu fonksiyon az önce anlattığım url.parse() fonksiyonunun tam tersi görev yapıyor. Yani url.parse() fonksiyonu ile Url'yi parçalıyor ve her bir özelliğini nesne olarak geri alıyorduk, bu fonksiyonda ise nesne olarak url bilgilerini veriyoruz, o bize url'nin kendisini veriyor. Geri döndürdüğü veri ise string tipte oluyor.
Parametre olarak göndereceğimiz nesnenin elemanları ise url.parse() fonksiyonundan gelen elemanlar olmalıdır. Örneğin az önce url.parse() fonksiyonundan geri dönen değeri bu seferde url.format() fonksiyonuna gönderelim, bakalım ne oluyor;

let sonuc = url.format({
    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'localhost:3000',
    port: '3000',
    hostname: 'localhost',
    hash: null,
    search: '?q=deneme&q2=deneme3',
    query: 'q=deneme&q2=deneme3',
    pathname: '/deneme.html',
    path: '/deneme.html?q=deneme&q2=deneme3',
    href: 'http://localhost:3000/deneme.html?q=deneme&q2=deneme3' });
console.log(sonuc);
Evet bu kodları yazıp çalıştırdığımızda http://localhost:3000/deneme.html?q=deneme&q2=deneme3 yazdığını göreceksiniz.

url.resolve(): fonksiyonu 2 parametre alıyor ve birinci parametre string tipte olan bi url oluyor ve ikinci parametrede string tipte oluyor fakat tam olarak bi url değil, bi url parçası oluyor. Birinci parametredeki url'yi ikinci parametrede belirtilen yolun root diziniyle kesiştiği yerden kesip devamını ikinci parametre ile dolduruyor, bi nevi string fonksiyonlarından olan replace fonksiyonu görevi görüyor.
Böyle anlatınca tam olarak anlaşılmadı bence, hadi bi örnek yapalım;

console.log(url.resolve('http://localhost:3000/proje/dosyalar/javascript', '/resimler'));
console.log(url.resolve('http://localhost:3000/proje/dosyalar/javascript', '/proje/resimler'));
Bu kodu yazıp çalıştırdığınızda şöyle bir çıktı almanız gerek;
Node.JS url Modülü
Bu örnekle daha açıklayıcı olduğunu ve anladığınızı düşünüyorum, anlamayan varsa yorum olarak anlamadığı yeri sorabilir :)

Evet bu dersimizde buraya kadar, tüm Node.JS derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.


  • İçeriği Paylaş:

İÇERİĞİ DEĞERLENDİR

Toplam Değerlendirme Sayısı: 0
Toplam Değerlendirme: 0 / 5

Cevap Yaz