Friday, June 21, 2024

Node JS Introduction in Hindi

इस पोस्ट में हम Node.js तकनीकी के बारे में आवश्यक जानकारी प्राप्त करेंगे। इस पोस्ट को पढ़ने के बाद आप Node.js से संबंधित जितनी भी प्रारंभिक और आवश्यक जानकारी है, वह प्राप्त कर लेंगे। उदाहरण के लिए:

  • Node.js क्या है
  • Node.js को कैसे इंस्टॉल करते हैं
  • Node.js प्रोजेक्ट में किसी मॉड्यूल को कैसे क्रिएट करते हैं
  • Node.js की सहायता से आप HTTP वेब सर्वर को कैसे क्रिएट करते हैं
  • Node.js कमांड की मदद से किस प्रकार आप किसी भी JavaScript के कोड को अपने लोकल सिस्टम अर्थात डेस्कटॉप पर रन कर सकते हैं
  • Node.js की सहायता से आप कैसे किसी फाइल को रीड कर सकते हैं, उसे डिलीट कर सकते हैं, अपडेट कर सकते हैं, रिनेम कर सकते हैं, इत्यादि

How to run JS code on local server:

सबसे पहले अपने डेस्कटॉप पर एक प्रोजेक्ट फ़ोल्डर बनाइए। उस प्रोजेक्ट फ़ोल्डर के भीतर आप अपने विजुअल स्टूडियो कोड एडिटर को ओपन कीजिए। इसके बाद आप अपनी एक `index.js` JavaScript फाइल बनाइए। इस JavaScript फाइल के भीतर आप निम्नलिखित कोड लिखिए।

console.log('Node JS Tutorial');
console.log('Node is used for ...');

यह सारे कोड console.log से संबंधित हैं।

आप बिना किसी HTML फाइल को बनाए इस JavaScript फाइल के कोड को कैसे रन कर सकते हैं?

NOTE: अगर आप HTML फाइल बनाते हैं, तो वह फाइल ब्राउज़र में रन होगी, लेकिन अगर आप बिना HTML फाइल बनाए अपने JavaScript फाइल को रन करना चाहते हैं, तो इसके लिए आपको Node.js सिस्टम पर इंस्टॉल होना जरूरी है। मेरे सिस्टम पर Node.js इंस्टॉल है। अब मैं अपने विजुअल स्टूडियो कोड के भीतर टर्मिनल को ओपन करूंगा और निम्नलिखित कमांड को टाइप करूंगा:

node index.js

Node.js कमांड के बगल में index.js फाइल का नाम लिखिए और ENTER की प्रेस कीजिए, तो Node.js उस index.js फाइल को रन करेगा।

PS C:\Users\akshr\Desktop\Node Project1> node index.js

Node JS Tutorial

Node is used for ...

PS C:\Users\akshr\Desktop\Node Project1> 

इस तरह हमने सीखा कि कैसे हम JavaScript के code को अपने लोकल सिस्टम पर Node JS की सहायता से रन कर सकते हैं ।

What is Module in Node project

अब अगला कार्य हम यह सीखेंगे कि module क्या होता है। Node.js के भीतर module का बहुत ही ज्यादा use होता है और यह सीखना बहुत ही सरल है। किसी भी अन्य प्रोग्रामिंग लैंग्वेज की तरह, मॉड्यूल का उपयोग आप अपने Node.js एप्लिकेशन में करते हैं।

मॉड्यूल एक JavaScript फाइल होती है, जिसमें डिफाइन किए गए functions और variables को public बना कर हम किसी दूसरे JavaScript फाइल के भीतर यूज़ कर सकते हैं।

ऐसा नहीं है कि module के भीतर जितने variables, class और functions हैं, उन सभी को आप दूसरे JavaScript फाइल में use कर सकते हैं। आप केवल उन्हीं variables, class  और function को दूसरे JavaScript फाइल के भीतर use कर सकते हैं, जिनके साथ exports कीवर्ड को यूज़ किया गया है। बाकी private होते हैं 

जिस variable या function को एक्सपोर्ट करना होता है, उसको एक्सपोर्ट करने के लिए exports कीवर्ड के बाद डॉट ऑपरेटर का उपयोग करते हैं और उस variable और function को डिफाइन करते हैं।

उदाहरण के लिए निम्नलिखित code को देखिए:

// math.js module

exports.add = function(a, b) {

  return a + b;

}

जिस JavaScript फाइल में module use करना होता है, उसे JavaScript फाइल के टॉप में सबसे पहले हमें require function का उपयोग करते हुए, सिंगल या डबल कोटेशन के भीतर उस module का नाम लिखना होता है। इस तरीके से JavaScript का require function हमें module को इस नए JavaScript फाइल में उपलब्ध करा देता है। require function एक variable रिटर्न करता है, जिसे हम एक constant variable के रूप में किसी variable में संचित कर सकते हैं। इस variable की मदद से हम module के किसी भी variable और function को एक्सेस कर सकते हैं। Example: const http = require('http');

How to create HTTP server

अगला लर्निंग टिप्स यह है कि हम यह देखेंगे कि Node.js की सहायता से कैसे हम HTTP सर्वर क्रिएट कर सकते हैं। इसे क्रिएट करने के लिए सबसे पहले हमें HTTP पैकेज या module की जरूरत होगी। हम require function का उपयोग करते हुए HTTP module को अपने JavaScript फाइल के भीतर import कर लेते हैं। require function एक variable रिटर्न करता है, जिसमें वह HTTP module को पॉइंट करता हुआ variable प्राप्त होता है। इस variable की मदद से हम HTTP सर्वर को क्रिएट करेंगे।

HTTP ऑब्जेक्ट के createServer method की मदद से हम सर्वर क्रिएट करेंगे। createServer एक callback function लेता है, जो दो parameters को लेता है: एक request पैरामीटर, दूसरा response पैरामीटर।

createServer method के ऊपर हम listen method को apply करते हैं, जिससे वह सर्वर नेटवर्क के साथ जुड़ जाता है और किसी भी request को listen करने के लिए तैयार हो जाता है।

request JavaScript का एक ऑब्जेक्ट है। जब भी कोई request नेटवर्क के द्वारा सर्वर को भेजा जाता है, तो वह request ऑब्जेक्ट के भीतर सारी जानकारी को समाहित करके सर्वर को भेजा जाता है। ठीक इसी तरह, response ऑब्जेक्ट भी JavaScript का एक ऑब्जेक्ट है। जब भी सर्वर क्लाइंट को कोई उत्तर या response भेजता है, तो वह अपनी सारी जानकारी को response ऑब्जेक्ट के भीतर समाहित करके क्लाइंट को भेजता है।

प्रैक्टिस के लिए: आप एक प्रोजेक्ट बनाइए और सर्वर के द्वारा एक-दो संदेश को क्लाइंट के पास भेजिए। इसके लिए आपको request और response ऑब्जेक्ट की जरूरत पड़ेगी, खासकर response ऑब्जेक्ट की। response ऑब्जेक्ट के भीतर write और अन्य कई सारे methods उपलब्ध हैं, जिनका use करके आप अनेक तरह के कार्य कर सकते हैं, जैसे write method की सहायता से आप क्लाइंट को कोई संदेश लिखकर भेज सकते हैं।

सर्वर को क्रिएट करने के बाद उसे किसी port पर listen के लिए तैयार करना होता है। आप अपने लोकल होस्ट को इस पोर्ट पर ओपन करके request को सर्वर को भेज सकते हैं।

Response ऑब्जेक्ट के write method के द्वारा आप plain text को क्लाइंट को भेजते हैं। अगर आपको header भेजना हो, तो response ऑब्जेक्ट के writeHead method का उपयोग करते हैं। writeHead method के द्वारा आप response header की जानकारी को पैरामीटर के रूप में भेजते हैं। इसे आप निम्नलिखित code के रूप में देख सकते हैं।

Example:

const http = require('http');

const server = http.createServer((req, res) => {

  res.writeHead(200, { 'Content-Type': 'text/plain' });

  res.write('Hello, Client!');

  res.end();

});

server.listen(3000, 'localhost', () => {

  console.log('Server is listening on port 3000');

});

Node.js कैसे कार्य करता है?

इसको समझने की जो step-by-step प्रक्रिया है, उसे नीचे व्यक्त करते हैं। मान लीजिए आपने अपने JavaScript में कुछ कोड लिखा है और उसे आप सर्वर साइड पर रन करना चाहते हैं, तो इसके लिए आप Node.js का उपयोग करेंगे। अब अगर आपके सिस्टम पर Visual Studio Code या कोई और टेक्स्ट एडिटर नहीं है, तो आप इसे कैसे रन करेंगे? इसके लिए सबसे पहले अपने Windows डेस्कटॉप के command prompt को ओपन करेंगे और अपने command prompt को उस फाइल के path तक जाएंगे, जहां पर आपकी JavaScript फाइल पड़ी हुई है। यहां तक जाने के बाद आप अपने Node command को टाइप करेंगे और उसके बगल में उस फाइल का नाम लिखेंगे। तो Node उस JavaScript फाइल को रन कर देगा।

Node.js जब उस JavaScript फाइल को रन करेगा, तो यह एक तरह से server-side script का execution हो जाएगा। सर्वर साइड जब स्क्रिप्ट का execution हो जाएगा, तो सर्वर उस कोड को रन करने के बाद response के रूप में क्लाइंट को कुछ भेजेगा। अगर इस बात का पता लगाना हो, तो हमें अपने किसी ब्राउज़र को ओपन करना होगा। अब आप अपना Chrome browser ओपन कीजिए और localhost के बाद, कलम के बाद आप इस पोर्ट का उपयोग कीजिए (जैसे localhost:3000)। अगर आपका server सही से रन हो रहा है, तो इंटर प्रेस करने के बाद response में जो भी message भेजा जाएगा, वह आपके browser में दिखेगा।

Node Interactive Mode

Node command को आप अपने command prompt पर जब use करते हैं तो आप command prompt के भीतर भी अपने किसी JavaScript के statement को रन कर सकते हैं। उदाहरण के लिए अगर आप किसी variable को assign करना हो तो assign कर सकते हैं, दो expressions को जोड़ना हो या expression की value को रन करना हो, ये सारे काम आप command prompt में कर सकते हैं। लेकिन पहली बार जब आप command लिखना शुरू करेंगे, तो Node लिखकर enter press कर दें। इससे वो interactive mode में आ जाएगा। Node JS जब interactive mode में आ जाता है, तो उसके बाद आप अपने JavaScript के statement लिख सकते हैं और interactive mode से बाहर जाने के लिए आप CTRL+C press कर सकते हैं।

Node.JS और NPM में अंतर

हम समझेंगे की Node.JS और NPM में क्या अंतर है। देखिए, Node.JS एक तरह का platform provide करता है जिसके through आप किसी भी तरह का server-side application बना सकते हैं। Node.JS की मदद से आप अपने server-side application को बनाते हैं जो Windows, Mac और Linux तीनों platforms पर चल सकता है।

इसके विपरीत, NPM एक package manager है जिसका main काम आपकी application के लिए आवश्यक packages, जिसे हम modules या libraries कहते हैं, को available कराना है। NPM package manager की मदद से हमें modules या libraries मिल जाती हैं। ऐसे लाखों packages या modules available हैं और developer को उनमें से जो भी package या module चाहिए, वो NPM package manager के through install, uninstall या update कर सकते हैं। दूसरे शब्दों में, किसी भी module या package के प्रबंधन के लिए NPM का उपयोग किया जाता है। NPM हमें ऐसे commands provide करता है जिनकी मदद से हम किसी package को install, uninstall या update कर सकते हैं।

Package.json file

NPM की मदद से हम package.json नामक एक JSON file भी बना सकते हैं और उसमें dependencies या developer dependencies को record कर सकते हैं। वास्तव में, package नामक JSON file और NPM के द्वारा ही उसका प्रबंधन किया जाता है।

Node JS के मुख्य Packages या Modules

इस पोस्ट में हम देखेंगे की Node JS के कौन-कौन से important packages हैं और उनका क्या use है। कुछ प्रमुख modules इस प्रकार हैं:

  1. Console module का use developer के द्वारा किया जाता है और यह development के दौरान debugging में बहुत मदद करता है।
  2. HTTP module का use करके HTTP server का निर्माण किया जाता है और विभिन्न प्रकार के HTTP requests और responses से जुड़े काम किए जाते हैं।
  3. Process module का use करके हम process से संबंधित कई प्रकार की जानकारी प्राप्त कर सकते हैं।
  4. OS module का use करके हम operating system से संबंधित जानकारी प्राप्त कर सकते हैं और उसे manage या control कर सकते हैं।

सच तो यह है कि Node JS के अंतर्गत हमें कई तरह के packages मिलते हैं और एक अच्छा developer बनने के लिए हमें इन अलग-अलग packages की functionality का ज्ञान होना चाहिए।

Buffer

Node के अंतर्गत buffer एक महत्वपूर्ण object है। Buffer एक तरह का storage है जिसमें data को store किया जा सकता है, जो network के बीच travel करता है। यह data किसी भी storage media में रखा जा सकता है, जैसे की image files, audio, या video files। Buffer हम किसी भी प्रकार के data का create कर सकते हैं।

Node JS के अंदर Buffer नाम का एक global object provide किया गया है, जिसकी मदद से आप buffer से जुड़े कई काम कर सकते हैं। आपको buffer object के अलग-अलग methods को याद रखना है और समझना है कि उनका क्या काम है।

Buffer के अंतर्गत हम binary form के data को manage करते हैं। अगर आपको text form के data को handle करना हो तो उसके लिए buffer का use जरूरी नहीं है।

Buffer object का size allocate करने के बाद, आप buffer में data store कर सकते हैं। इसके लिए आप write और fill नाम के methods का use करते हैं।

उदाहरण के लिए, अगर आपको buffer कैसे create करना है तो buffer को आप किसी string या binary data से भी create कर सकते हैं। इसके लिए आप alloc या from नाम के functions का use करते हैं।

Buffer के data को copy किया जा सकता है, उसकी length की गणना की जा सकती है और उसे compare भी किया जा सकता है। इसका मतलब है कि buffer data के ऊपर कई प्रकार के operations perform किए जा सकते हैं, और दो buffer data के बीच में comparison भी हो सकता है। इन सभी कामों के लिए अलग-अलग methods दिए गए हैं।

© अजीत कुमार, सर्वाधिकार सुरक्षित।

Related Post: Node JS in Hindi Part2

No comments:

Post a Comment

Hot Topics