Friday, June 21, 2024

Node JS Introduction

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

  • Node JS को कैसे इनस्टॉल करते हैं 
  • Node JS क्या है 
  • Node JS project मे किसी module को कैसे क्रिएट करते हैं 
  • Node JS की सहायता से आप http वेब सर्वर को कैसे क्रिएट करते हैं 
  • Node JS कमांड की मदद से किस प्रकार आप किसी भी JavaScript के code को अपने लोकल सिस्टम अर्थात डेस्कटॉप पर रन कर सकते हैं 
  • Node JS की सहायता से आप कैसे किसी फाइल को read कर सकते हैं उसे delete कर सकते हैं अपडेट कर सकते हैं rename कर सकते हैं इत्यादि

How to run JS code on local server

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

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

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

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

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

node index.js 

Node command के बगल में index.js फाइल के नाम लिख दीजिए और ENTER key प्रेस कीजिए तो 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 file होता है जिसमें डिफाइन किए गए functions और variables को हम किसी दूसरे JavaScript फाइल के भीतर  यूज कर सकते हैं।

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


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

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


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

How to create HTTP server

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

एचटीटीपी ऑब्जेक्ट के createServer  मेथड की मदद से हम सर्वर क्रिएट करेंगे createServer एक कॉल बैक function लेता है यह कॉल बैक function दो पैरामीटर को लेता है एक request पैरामीटर दूसरा response पैरामीटर।

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

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

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

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

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

एड्रेस बार में जो यूआरएल दिखाई देता है अगर उसको read करना हो तो उसके लिए आपको request ऑब्जेक्ट के यूआरएल का यूज करना होगा। यूआरएल का बेस्ट एड्रेस फॉरवार्ड स्लैश के रूप में दिखाई देता है पूरा डोमेन प्रोटोकॉल इत्यादि आपको नहीं दिखाई देगा।

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

इसको समझने का जो स्टेप बाय स्टेप प्रक्रिया है उसको नीचे व्यक्त करते हैं मान लेते हैं अपने जावास्क्रिप्ट में कुछ कोड लिखा है और उसको आप सर्वर साइड रन करना चाहते हैं तो इसके लिए आप Node JS का उपयोग करेंगे अब अगर आपके सिस्टम पर विजुअल स्टूडियो कोड नहीं हो या कोई और टेक्स्ट एडिटर नहीं हो तो आप कैसे इसे रन करेंगे इसके लिए सबसे पहले अपने Windows डेस्कटॉप के command prompt को ओपन करेंगे और अपने command prompt को उस फाइल के path तक जाएंगे जहां पर आपका जावास्क्रिप्ट का फाइल पड़ा हुआ है यहां तक जाने के बाद आप अपने Node command  को टाइप करेंगे और उसके बगल में उस फाइल का नाम लिखेंगे तो Node उस जावास्क्रिप्ट फाइल को रन कर देगा Node JS जब उसे जावास्क्रिप्ट फाइल को रन करेगा तो यह एक तरह से सर्वर साइड स्क्रिप्ट का एग्जीक्यूशन हो गया सर्वर साइड जब स्क्रिप्ट का एग्जीक्यूशन हो गया तो सर्वर उस कोड को रन करने के बाद रिस्पांस के रूप में क्लाइंट को कुछ भेजेगा अगर इस बात का पता लगाना हो तो हमें अपने किसी ब्राउज़र को ओपन करना होगा अब आप अपना क्रोम ब्राउजर ओपन कीजिए और लोकल होस्ट के बाद कलम के बाद आप इस पोर्ट का उपयोग कीजिये जी पोर्ट पर आपका सर्वर नॉट का सर्वर रन हो रहा है ऐसा करने के बाद आप इंटरप्रेस करेंगे तो रिस्पांस में अगर कोई मैसेज आया होगा तो वह मैसेज आपके ब्राउज़र में प्रकट होगा।

Node Interactive Mode

Node command  को आप अपने command prompt पर जब use करते हैं तो आप command prompt के भीतर भी अपने किसी जावास्क्रिप्ट के स्टेटमेंट को रन कर सकते हैं उदाहरण के लिए अगर आप किसी वेरिएबल को assign करना हो तो assign कर सकते हैं दो एक्सप्रेशन को जोड़ना हो एक्सप्रेशन की वैल्यू को रन करना हो यह सारे काम आप अपने command prompt में कर सकते हैं लेकिन पहली बार जवाब command  लिखना शुरू करेंगे तो Node इंटर करके Node लिखकर प्रेस कर दें इससे वह इंटरएक्टिव मोड में आ जाएगा Node JS जब इंटरएक्टिव मोड में आ जाता है तो उसके बाद आप अपने जावास्क्रिप्ट के स्टेटमेंट को लिख सकते हैं और इंटरएक्टिव मोड़ से बाहर जाने के लिए आप CTRL+C को प्रेस कर दीजिए

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

हम समझेंगे की Node.JS  और NPM में क्या अंतर है।  देखिए Node.JS  एक तरह का प्लेटफार्म प्रदान करता है जिसके द्वारा आप किसी भी तरह का सर्वर साइड एप्लीकेशन बना सकते है। Node.JS  की मदद से आप अपने सर्वर साइड एप्लीकेशन को बनाते है जो विंडोज, मैक और Linux तीनों ही प्लेटफार्म पर चलते है।

इसके विपरीत NPM पैकेज मैनेजर है जिसका मुख्य कार्य आपकी एप्लीकेशन के लिए आवश्यक पैकेज जिसे कि हम मॉड्यूल या  लाइब्रेरी कहते हैं को उपलब्ध कराना है।  NPM पैकेज मैनेजर के कारण हमें बने मॉड्यूल या लाइब्रेरी मिल जाते है। ऐसे लाखों पैकेज या माड्यूल उपलब्ध है और डेवलपर को उसमें से जो भी पैकेज या module पसंद है NPM पैकेज मैनेजर की मदद से इंस्टॉल अनइनस्टॉल या अपडेट कर सकते है। दूसरे शब्दों में किसी भी मॉड्यूल या पैकेज के प्रबंधन के लिए NPM का उपयोग किया जाता है। NPM हमें ऐसे commands उपलब्ध कराता है जिनकी सहायता से हम किसी पैकेज को इंस्टॉल अनइनस्टॉल या अपडेट कर सकते है।

Package.json file

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

Node JS  के मुख्य पैकेज या माड्यूल

इस पोस्ट में हम देखेंगे की Node JS  कौन-कौन से पैकेज मुख्य हैं और उनका किस लिए उपयोग किया जाता है कुछ प्रमुख मॉड्यूल इस प्रकार है । console module का उपयोग डेवलपर के द्वारा किया जाता है और यह डेवलपमेंट के दौरान debugging में बहुत ही ज्यादा सहायता करता है । दूसरा मॉड्यूल http module है जिसका उपयोग करके एचटीटीपी सर्वर का निर्माण किया जाता है और विभिन्न प्रकार के एचटीटीपी रिक्वेस्ट और रिस्पांस से जुड़े कार्यों को संपादित किया जाता है । तीसरा process मॉड्यूल है । प्रक्रिया मॉड्यूल का उपयोग करके हम प्रक्रिया से संबंधित कई प्रकार की जानकारियां जो जान सकते हैं । एक अन्य मॉड्यूल जिसका नाम os है इसका उपयोग करके हम ऑपरेटिंग सिस्टम के बारे में विभिन्न प्रकार की जानकारियां प्राप्त कर सकते हैं और उसको मैनेज या नियंत्रित कर सकते हैं सच तो यह है कि Node JS के अंतर्गत हमें कई तरह के पैकेज उपलब्ध है एक अच्छे डेवलपर बनने के लिए हमें इन विभिन्न प्रकार के पैकेज किया फंक्शनैलिटी की जानकारी होनी आवश्यक है ।

Node Buffer

नोट के अंतर्गत बफर एक महत्वपूर्ण ऑब्जेक्ट है । बफर चाहिए प्राइस ऐसे उत्तर से है जो नेटवर्क के बीच में ट्रैवल करते हैं और उसको किसी भी स्टोरेज मीडिया में स्टोर करके रखा भी जा सकता है चाहे वह इमेज फाइल हो या कोई ऑडियो हो या वीडियो हो बफर हम किसी भी तरह के दाता का क्रिएट कर सकते हैं । Node JS के भीतर बफर नाम का एक ग्लोबल ऑब्जेक्ट प्रदान किया गया है जिसकी सहायता से आप बफर से जुड़े कई तरह के कार्य कर सकते हैं आपको बफर ऑब्जेक्ट के अलग-अलग तरह के methods को याद रखना है समझना है कि उनके कार्य क्या है।

Buffer के अंतर्गत हम बाइनरी फॉर्म के डाटा को मैनेज करते हैं जो टेक्स्ट फॉर्म के दाता होते हैं उसके लिए buffer का इस्तेमाल मुख्य नहीं है।

बफर ऑब्जेक्ट के साइज को allocateकरने के बाद हम बफर में डाटा स्टोर कर सकते हैं  इसके लिए हम write और fill नमक मेथड का प्रयोग करते हैं

उदाहरण के लिए आपको जानना है कि बफर कैसे क्रिएट करते हैं बफर आप किसी स्ट्रिंग से भी क्रिएट कर सकते हैं । किसी बाइनरी डाटा से भी क्रिएट कर सकते हैं । इसके लिए आपको alloc नाम का फंक्शन है या from नाम का फंक्शन है।

 बफर के डाटा को कॉपी किया जा सकता है उसकी लेंथ की गणना की जा सकती है उसको कौन कैबिनेट भी किया जा सकता है । अभिप्राय है कि बफर डाटा के ऊपर अनेक प्रकार के ऑपरेशन संभव है दो बफर डाटा के बीच में कंपेयर भी किया जा सकता है इन सभी कार्यों को करने के लिए अलग-अलग मेथड है ।

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

No comments:

Post a Comment

Hot Topics