Node.js URL मॉड्यूल
बिल्ट-इन URL मॉड्यूल
URL मॉड्यूल वेब पते को पठनीय भागों में विभाजित करता है।
URL मॉड्यूल शामिल करने के लिए, require()
विधि का उपयोग करें:
var url = require('url');
विधि के साथ एक पता पार्स करें url.parse()
, और यह पते के प्रत्येक भाग के साथ एक यूआरएल ऑब्जेक्ट को गुणों के रूप में वापस कर देगा:
उदाहरण
वेब पते को पढ़ने योग्य भागों में विभाजित करें:
var url = require('url');
var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
var q = url.parse(adr, true);
console.log(q.host); //returns 'localhost:8080'
console.log(q.pathname); //returns '/default.htm'
console.log(q.search); //returns '?year=2017&month=february'
var qdata = q.query; //returns an object: { year: 2017, month: 'february' }
console.log(qdata.month); //returns 'february'
Node.js फ़ाइल सर्वर
अब हम जानते हैं कि क्वेरी स्ट्रिंग को कैसे पार्स किया जाता है, और पिछले अध्याय में हमने सीखा कि कैसे Node.js को एक फ़ाइल सर्वर के रूप में व्यवहार करना है। आइए हम दोनों को मिलाएं, और क्लाइंट द्वारा अनुरोधित फ़ाइल की सेवा करें।
दो html फ़ाइलें बनाएं और उन्हें उसी फ़ोल्डर में सहेजें जिसमें आपकी नोड.जेएस फ़ाइलें हैं।
गर्मी.html
<!DOCTYPE html>
<html>
<body>
<h1>Summer</h1>
<p>I love
the sun!</p>
</body>
</html>
सर्दी.एचटीएमएल
<!DOCTYPE html>
<html>
<body>
<h1>Winter</h1>
<p>I love
the snow!</p>
</body>
</html>
एक Node.js फ़ाइल बनाएँ जो अनुरोधित फ़ाइल को खोलती है और क्लाइंट को सामग्री लौटाती है। अगर कुछ गलत होता है, तो 404 त्रुटि फेंकें:
डेमो_फाइलसर्वर.जेएस:
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function
(req, res) {
var q = url.parse(req.url, true);
var
filename = "." + q.pathname;
fs.readFile(filename,
function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
फ़ाइल आरंभ करना याद रखें:
Demo_fileserver.js आरंभ करें:
C:\Users\Your Name>node demo_fileserver.js
यदि आपने अपने कंप्यूटर पर समान चरणों का पालन किया है, तो इन दो पतों को खोलते समय आपको दो भिन्न परिणाम दिखाई देने चाहिए:
http://localhost:8080/summer.html
यह परिणाम देगा:
Summer
I love the sun!
http://localhost:8080/winter.html
यह परिणाम देगा:
Winter
I love the snow!