Node.js और NPM में शुरुआती लोगों के लिए गाइड

Node.js और नोड पैकेज मैनेजर के साथ कैसे शुरुआत करें

आज मैं आपको Node.js और NPM की मूल बातें बताऊंगा, जिसमें सामान्य रूप से वेब के लिए कैसे विकसित किया जाए, इस पर स्पष्टीकरण भी शामिल है। बस एक नोट अपफ्रंट: यदि आप बुनियादी वेब विकास और एनपीएम से परिचित हैं, तो आप इस लेख को छोड़ सकते हैं और यहां बहुत उपयोगी एनपीएक्स के बारे में अधिक जान सकते हैं।

ठीक है अच्छा है! चलो शुरू करते हैं!

Node.js

यदि आप इसे पढ़ रहे हैं, तो आपने शायद पहले ही Node.js + NPM डाउनलोड कर लिया है और अपने पैर की अंगुली को जावास्क्रिप्ट के पानी में बांधना शुरू कर दिया है। फिर भी पहला कदम पहले से ही डरावना लग सकता है: "मैं सिर्फ जावास्क्रिप्ट में एक छोटा सा प्रोग्राम लिखना चाहता हूं, मुझे अन्य सभी चीजों की आवश्यकता क्यों है?"। यह समझ में आता है, लेकिन वास्तव में कोई बड़ी बात नहीं है।

आइए शुरुआत से शुरू करें: आप अपने कंप्यूटर पर हर जगह बस एक Javascript-फ़ाइल बना सकते हैं, जो '.js'-प्रत्यय द्वारा इंगित की जाती है। यह फ़ाइल किसी भी तरह से कोड से भरी जा सकती है, लेकिन फिर एक चीज गायब है: आप वास्तव में अपना प्रोग्राम कैसे चलाते हैं? यहीं से Node.js काम आता है।

Node.js एक रनटाइम वातावरण है, स्पष्ट रूप से जावास्क्रिप्ट के लिए। जैसा कि विवरण का तात्पर्य है, नोड आपके जावास्क्रिप्ट कोड को एक विशिष्ट वातावरण में चला सकता है जो नोड स्वयं प्रदान करता है। प्रक्रिया हमेशा समान होती है: आप पहले Node.js शुरू करते हैं, और जब नोड काता जाता है (जिसका अर्थ है कि यह शुरू हो गया है) तो आप इसे अपना जावास्क्रिप्ट कोड प्रदान कर सकते हैं।

आपके जावास्क्रिप्ट को इनपुट के रूप में नोड को दो तरीके प्रदान किए जा सकते हैं:

  1. सीधे चल रहे नोड-प्रक्रिया के लिए, लाइन से लाइन, कोई फाइल शामिल नहीं है
  2. नोड को बताकर कि कौन सी जावास्क्रिप्ट-फाइल को लोड करना है, बिना किसी लाइन-बाय-लाइन इनपुट के
node

पंक्ति दर पंक्ति

Node.js को सफलतापूर्वक स्थापित करने के बाद (जो अभी डाउनलोड हो रहा है + इंस्टॉलर चला रहा है, विवरण नोड की वेबसाइट पर हैं), आप अपने टर्मिनल (macOS/Linux) या पावरशेल (विंडोज) में हर जगह से Node.js को स्टार्ट-अप कर सकते हैं। . आदेश इस तरह दिखता है।

हाँ, बस इतना ही! आपने अभी-अभी Node को सफलतापूर्वक लॉन्च किया है! क्या आपने देखा कि यह कितनी तेजी से हुआ? Node.js के इतने लोकप्रिय होने के कारणों में से एक इसकी तेज गति से बूटअप (अन्य बातों के अलावा) के कारण है।

अब जब नोड चालू हो गया है और चल रहा है, तो हम अपनी जावास्क्रिप्ट-ऐप लाइन को लाइन से परिभाषित कर सकते हैं। प्रत्येक इनपुट को मेमोरी में संसाधित और संग्रहीत किया जाता है। यहाँ एक छोटा सा उदाहरण है।

(Hit enter after every line end) 
const greet = (name) => console.log("Hello, " + name);
greet("Tom"); let x = 10; x = x + 5; 

(enter the following line to terminate node)
.exit

अब यह सब ठीक है और बांका है, लेकिन बड़े ऐप लिखने के लिए हमें पहले उन्हें Node. अगला अध्याय, कृपया!

फाइलों के माध्यम से इनपुट

इस उदाहरण के लिए आपको एक टेक्स्ट एडिटर की आवश्यकता है। मूल रूप से आप प्रत्येक प्रोग्राम का उपयोग कर सकते हैं जो टेक्स्ट में हेरफेर कर सकता है (जैसे मैकोज़ पर टेक्स्टएडिट या विंडोज़ पर संपादक)। मैं माइक्रोसॉफ्ट से ओपन सोर्स वीएस कोड की अनुशंसा करता हूं, लेकिन आप अपने एर्गोनॉमिक्स के लिए सबसे उपयुक्त विकल्प चुन सकते हैं।

इनपुट के रूप में फ़ाइल प्रदान करने के लिए, हमें बस एक बनाना होगा। बस इसके नाम में प्रत्यय 'js' के साथ एक सादा पाठ-फ़ाइल बनाएं। हम अपनी फ़ाइल का नाम app.js रखेंगे। अब अपनी पसंद का कमांड प्रॉम्प्ट खोलें (हमारे पहले उदाहरण में इस्तेमाल किया गया)। सुनिश्चित करें कि आपने इसे उस निर्देशिका से खोला है जहां फ़ाइल सहेजी गई है, यह महत्वपूर्ण है।

यदि आप वीएस कोड का उपयोग कर रहे हैं, तो आप इसके अंतर्निर्मित कमांड प्रॉम्प्ट का उपयोग कर सकते हैं, बस अपने एक्सप्लोरर-व्यू में राइट-क्लिक करें और "ओपन इन कोड" (विंडोज़ पर) पर कॉल करें या फ़ाइल वाली निर्देशिका को ड्रैग-एंड-ड्रॉप करें आपके डॉक (macOS) में VS कोड-आइकन। फिर आप यहां बताए अनुसार इसका टर्मिनल खोल सकते हैं।

जब टर्मिनल तैयार हो जाए, तो बस निम्न कमांड टाइप करें।

node app.js

जैसा कि आप देख रहे हैं, कुछ चीजें हुई हैं:

  1. नोड सीधे शुरू हुआ, कोई उपयोगकर्ता इनपुट उपलब्ध नहीं है
  2. नोड ने आपकी पूरी फ़ाइल को ऊपर से नीचे तक तब तक चलाया जब तक वह अपने अंत तक नहीं पहुँच जाती
  3. नोड स्वयं समाप्त हो गया, क्योंकि फ़ाइल का अंत भी इसकी प्रक्रिया के अंत को चिह्नित करता है

और Node.js के मूल परिचय के लिए, बस! एक बार जब आप नोड डाउनलोड कर लेते हैं और पहली बार अपने स्वयं के जावास्क्रिप्ट ऐप को लॉन्च करने के लिए कमांड प्रॉम्प्ट के उपयोग का अनुभव करते हैं, या तो लाइन-बाय-लाइन या फ़ाइल से, आप आधिकारिक तौर पर जावास्क्रिप्ट देव हैं! क्लब में आपका स्वागत है!

अब मैं आपको एनपीएम की मूल अवधारणा के बारे में बताऊंगा। अगले अध्याय के बाद, हम जल्दी से Node.js, NPM और वेब विकास के बीच संबंध को देखेंगे। यदि आप Node.js के बारे में अधिक जानना चाहते हैं, तो आप जावास्क्रिप्ट, टूलचेन और कोडिंग से संबंधित हर चीज के बारे में हमारी कहानियां यहां देख सकते हैं। मैंने इस लेख के अंत में और भी अधिक सामग्री सीखने के लिए कुछ उपयोगी संसाधनों को लिंक किया है।

ठीक है, चलो एक चलते हैं!

एनपीएम, नोड पैकेज मैनेजर

जैसा कि आपने देखा, अपने कोड को प्रबंधित करना इतना कठिन नहीं है। एप्लिकेशन को एक फ़ाइल में संग्रहीत किया जा सकता है, आपके द्वारा लागू किए गए परिवर्तन बस बने रहें। लेकिन क्या होगा यदि आप किसी और के कोड का उपयोग करना चाहते हैं, जैसे क्रिप्टोग्राफ़िक या छवि-हेरफेर लाइब्रेरी? आपको किसी तरह उस कोड को अपने बगल में रखना होगा, इसे अपने आवेदन के लिए प्रयोग करने योग्य बनाना होगा और सब कुछ प्रबंधनीय रखना होगा।

एक भोला दृष्टिकोण सीधे स्रोत से बाहरी कोड डाउनलोड करना होगा, उदा। Github, और लाइब्रेरी की प्रतिलिपि बनाएँ, फ़ाइल द्वारा फ़ाइल, अपने स्वयं के प्रोजेक्ट में। लेकिन इससे कुछ समस्याएं होती हैं:

  • आप इस बाहरी कोड को सर्वोत्तम तरीके से कैसे अपडेट करते हैं? हाथ से नकल करना सबसे अच्छा उपाय नहीं है।
  • आप सभी बाहरी कोड का ट्रैक कैसे रखते हैं?
  • क्या होगा यदि यह बाहरी कोड स्वयं पुस्तकालयों पर निर्भर करता है, जो आपके प्रोजेक्ट में स्थापित नहीं हैं?

इन सभी चुनौतियों का सामना Node.js के पैकेज मैनेजर NPM द्वारा किया जाता है। एक पैकेज मैनेजर का काम मूल रूप से आपको जोड़ने, ट्रैक करने के साथ-साथ बाहरी कोड को हटाने के बारे में एक मजबूत समाधान देना है, जिसे निर्भरता के रूप में भी जाना जाता है। कार्रवाई में एनपीएम के कुछ उदाहरण यहां दिए गए हैं।

npm install serve-static npm remove serve-static

स्वाभाविक रूप से, इस प्रबंधक को आपकी परियोजना में सभी निर्भरताओं का ट्रैक रखने के लिए कुछ विशेष फाइलों की आवश्यकता होती है। इसलिए एनपीएम का उपयोग करने वाले अनुप्रयोगों में कम से कम दो फाइलें होती हैं: package.json और साथ ही package-lock.json। नया NPM पैकेज शीघ्रता से बनाने के लिए आप निम्न कमांड को कॉल कर सकते हैं।

npm init -y

नोट: जैसा कि हमने इस लेख के पहले भाग में देखा है, Node.js या Javascript का उपयोग करने के लिए NPM की आवश्यकता नहीं है। इसका ध्यान आपकी निर्भरताओं का प्रबंधन कर रहा है - न अधिक, न कम। NPM के माध्यम से आप npmjs.com पर प्रकाशित कोड को डाउनलोड कर सकते हैं। ये सभी बाहरी मॉड्यूल आपके प्रोजेक्ट में नोड_मॉड्यूल्स नामक एक विशेष निर्देशिका में संग्रहीत हैं। आपको व्यावहारिक रूप से इस निर्देशिका को कभी भी बदलना नहीं पड़ेगा, क्योंकि यह पूरी तरह से एनपीएम द्वारा प्रबंधित है।

package.json आपको प्रोजेक्ट में आपकी वर्तमान में उपयोग की जाने वाली निर्भरता के बारे में जानकारी देता है। package-lock.json एक विशेष फ़ाइल है जो आपके package.json-file या node_modules-directory से संबंधित उत्परिवर्तन के बारे में कुछ मेटाडेटा संग्रहीत करती है और इसे अभी के लिए अनदेखा किया जा सकता है।

मुझे लगता है कि मैं एनपीएम की मूल अवधारणा के अपने विवरण को लपेटूंगा, यह क्या करता है और यह स्वचालित रूप से कौन सी फाइलें/निर्देशिका उत्पन्न करता है। अधिक जानकारी लेख के अंत में जुड़ी हुई है।

आर्क टू वेब देव

अच्छा, अब आप Node.js और NPM के मूल सिद्धांतों को जान गए हैं। लेकिन अगर आप अपनी खुद की आधुनिक वेबसाइट बनाना शुरू करना चाहते हैं तो पृथ्वी पर यह सब सीखना क्यों आवश्यक है?

जैसा कि हमने अभी देखा, एनपीएम हमें पुस्तकालयों के विशाल संग्रह (अस्तित्व में सबसे बड़ा, सटीक होने के लिए) से कोड डाउनलोड करने की अनुमति देता है। वेब विकास के लिए, आपको एक ऐसे सर्वर की आवश्यकता होगी जो आपके वेब ऐप को होस्ट (अर्थात प्रदान) कर सके। ऐसी बहुत सारी सेवाएँ उपलब्ध हैं जहाँ आप अपनी वेबसाइट-प्रोजेक्ट अपलोड कर सकते हैं और वेबसाइट को वेब पर उपलब्ध कराने के लिए सर्वर सहित मौजूदा बुनियादी ढाँचे का उपयोग कर सकते हैं।

और स्थानीय विकास के लिए, विकास के दौरान आपकी स्थानीय फ़ाइलों को लोड करने और उन्हें केवल आपके लिए, आपके डिवाइस पर उपलब्ध कराने के लिए एक सर्वर की भी आवश्यकता होती है। Node.js के लिए धन्यवाद, आप बस इतना कर सकते हैं: अपनी वेबसाइट को एक तथाकथित लोकलहोस्ट के माध्यम से स्थानीय रूप से उपलब्ध कराना। Node.js में एक स्थानीय सर्वर लॉन्च करने के लिए आवश्यक उपकरण हैं, लेकिन NPM के माध्यम से, आपके एप्लिकेशन को युद्ध-परीक्षण घटकों से समृद्ध किया जा सकता है जो आपको कम समय में बहुत बड़ी सेवाएं बनाने में मदद कर सकते हैं।

बेशक यह सिर्फ शुरुआत है: एनपीएम आधुनिक वेब ऐप (पीडब्ल्यूए, "प्रगतिशील वेब ऐप" के रूप में जाना जाता है) के साथ-साथ जटिल सर्वर बनाने के लिए बहुत सारे कोड होस्ट करता है। लेकिन पहले परिचय के लिए, मुझे लगता है कि स्पष्टीकरण ठीक होना चाहिए।

मुझे आशा है कि मैं आपको Node.js और NPM के साथ पकड़ बनाने में मदद कर सकता हूँ। पहला कदम हमेशा सबसे कठिन होता है, लेकिन विकास के पहले दिनों के दौरान काटने और (बहुत से) सीखने को आपके कौशल के साथ आधुनिक वेब अनुप्रयोगों के विकास में विस्तारित किया जाएगा, जिससे आप जो कुछ भी चाहते हैं उसे बनाने में सक्षम होंगे।