Node.js url Modülü
Yazıda Node.js web adresi ile ilgili işlemlerde kullanılan url modülü ile ilgili bilgiler yer almaktadır.
Node.js sunucu taraflı JavaScript kodlarının yazılmasına imkan vermesinin yanı sıra çoğunlukla web sayfaları ile işlem yapmak için kullanılır.
Web adresi protokol (http), host (yusufsezer.com.tr), port (:80) vb. parçaların bir araya gelmesiyle oluşur.
Node.js içerisinde bulunan url modülü web adresini parçalara ayırarak daha anlamlı olmasını sağlar.
Projeye url modülünü dahil etmek için aşağıdaki sözdizimi kullanılır.
const url = require('url');
url.parse()
Parametre olarak aldığı web adresini parçalara ayırarak nesneye dönüştürür.
'use strict';
const url = require('url');
let adres = url.parse('https://user:[email protected]:1453/p/a/t/h?query=string&query1=text#hash');
console.log(adres);
Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.
node index.js
Url {
protocol: 'https:',
slashes: true,
auth: 'user:pass',
host: 'sub.host.com:1453',
port: '1453',
hostname: 'sub.host.com',
hash: '#hash',
search: '?query=string&query1=text',
query: 'query=string&query1=text',
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string&query1=text',
href: 'https://user:[email protected]:1453/p/a/t/h?query=string&query1=text#hash' }
Metodun ikinci parametresine true değeri verilirse adres son ekindeki değerlerin bulunduğu query özelliği nesne türü olur.
'use strict';
const url = require('url');
let adres = url.parse('https://user:[email protected]:1453/p/a/t/h?query=string&query1=text#hash', true);
console.log(adres);
Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.
node index.js
Url {
protocol: 'https:',
slashes: true,
auth: 'user:pass',
host: 'sub.host.com:1453',
port: '1453',
hostname: 'sub.host.com',
hash: '#hash',
search: '?query=string&query1=text',
query: { query: 'string', query1: 'text' },
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string&query1=text',
href: 'https://user:[email protected]:1453/p/a/t/h?query=string&query1=text#hash' }
Metot dönüş değeri olarak nesne vereceğinden nesne içerisindeki istenilen değere erişilebilir.
'use strict';
const url = require('url');
let adres = url.parse('https://user:[email protected]:1453/p/a/t/h?query=string&query1=text#hash', true);
console.log(adres.hostname);
Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.
node index.js
sub.host.com
url.format()
Parametre olarak aldığı nesne değerlerine göre bir url verir.
'use strict';
const url = require('url');
let adres = url.format({
protocol: 'http',
hostname: 'localhost',
port: '1453',
pathname: 'index.html'
});
console.log(adres);
Kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.
node index.js
http://localhost:1453/index.html
url.resolve()
Parametre ile verilen adresin kök dizinden itibaren adresini verir.
'use strict';
const url = require('url');
let adres = url.resolve('http://localhost:1453/proje/dosyalar/css', '/proje/resimler');
console.log(adres);
Yazılan kodlar çalıştırıldığında aşağıdaki gibi bir sonuç verecektir.
node index.js
http://localhost:1453/proje/resimler
Node.js url metodu http modülü ile birlikte kullanıcı isteklerini daha iyi yönetmek amacıyla kullanılır.
Node.js Derslerine buradan ulaşabilirsiniz…
Hayırlı günler dilerim.