npm NodeJS आधारित वातावरण के लिए एक पैकेज मैनेजर है। यह सबसे महत्वपूर्ण टूल्स में से एक है जिसे आपको जावास्क्रिप्ट प्रोजेक्ट्स को कुशलतापूर्वक सेट अप और प्रबंधित करने की आवश्यकता है। प्रोजेक्ट सेटअप पर कम समय बर्बाद करने और वास्तविक कोड पर बेहतर ध्यान केंद्रित करने के लिए, npm किसी भी जावास्क्रिप्ट डेवलपर्स के लिए गो-टू है। महान नोड प्रोजेक्ट्स विकसित करने के पूर्वापेक्षाओं में से एक npm सीखना है।
नीचे इस टूल को सीखने के लिए उपलब्ध सर्वोत्तम संसाधनों की एक विस्तृत गाइड है। हम किताबें, वीडियो कोर्स, प्रोफेशनल गाइड, और समुदाय-जनित कंटेंट को कवर करेंगे ताकि आप उस सीखने का रास्ता चुन सकें जो आपकी आवश्यकताओं के लिए सबसे उपयुक्त हो।
npm कैसे सीखें
टूल की विशिष्टताओं में गोता लगाने से पहले, इसकी गतिशीलता और उपयोगों का एक विहंगम दृश्य प्राप्त करना महत्वपूर्ण है। npm केवल जावास्क्रिप्ट-आधारित प्रोजेक्ट्स के लिए प्रासंगिक है। यदि आप फ्लास्क, Django, या Golang का उपयोग करके कुछ बनाने का लक्ष्य रखते हैं, तो npm आपके लिए कोई उपयोग नहीं है। आइए आगे बढ़ने से पहले टूल को विस्तार से देखें।
npm क्या है?
npm एक कमांड-लाइन टूल है, जो node.js इंस्टॉलेशन के साथ बंडल किया गया है, और इसका उपयोग नए नोड प्रोजेक्ट्स को इनिशियलाइज़ करने के लिए किया जा सकता है। npm जैसे पैकेज मैनेजर के साथ, इन पैकेज को इंस्टॉल और प्रबंधित करना आसान है।
npm की शुरुआत साझा करने लायक कहानी है। जब node.js पेश किया गया था, तो इसने सर्वर रनटाइम एनवायरनमेंट में जावास्क्रिप्ट का उपयोग करने की संभावना लाई। V8 जावास्क्रिप्ट रनटाइम और C++ के संयोजन ने नोड को अत्यधिक तेज़ बना दिया। हालांकि, नोड का फोकस धीरे-धीरे केवल सर्वर-साइड एप्लिकेशन से ऑटोमेशन और यूटिलिटीज के लिए जावास्क्रिप्ट टूल्स की एक विस्तृत श्रृंखला में स्थानांतरित हो गया। वेबपैक और Babel, Gulp जैसे पैकेज सामने आए क्योंकि लोगों ने धीरे-धीरे Node की वास्तविक क्षमता का पता लगाना शुरू कर दिया।
एक बड़ा शून्य जो बना रहा वह था "इन टूल्स को सभी जावास्क्रिप्ट रनटाइम में कैसे सामान्यीकृत किया जाए?" यहीं पर npm जैसे पैकेज मैनेजर आए। इसने इन पैकेज को प्रबंधित करने की प्रक्रिया को सामान्यीकृत किया। npm के अन्य विकल्प हैं, जैसे yarn और pnpm, लेकिन वे इस लेख के दायरे से बाहर हैं।
npm किसके लिए उपयोग किया जाता है?
नोड-आधारित प्रोजेक्ट के जीवनचक्र में npm के कई उपयोग हैं। आइए उनमें से कुछ पर त्वरित नज़र डालें:
- एक नया प्रोजेक्ट सेट अप करना। एक नोड प्रोजेक्ट में शुरुआत करने के लिए कुछ बॉयलरप्लेट कोड होता है। आमतौर पर, यह केवल package.json फाइल होती है जो एक स्थान को नोड प्रोजेक्ट के रूप में पहचानती है। कुछ मामलों में, एक नए प्रोजेक्ट की डिफ़ॉल्ट आवश्यकताएं अकेले package.json फाइल से कहीं अधिक हो सकती हैं। npm इन आवश्यकताओं को समायोजित करता है और नए प्रोजेक्ट्स को इनिशियलाइज़ करने का एक त्वरित और सरल तरीका प्रदान करता है।
- निर्भरताएं इंस्टॉल करना। जब आप किसी प्रोजेक्ट पर काम कर रहे होते हैं, तो आपको थर्ड-पार्टी निर्भरताएं इंस्टॉल करने की आवश्यकता हो सकती है। यहां तक कि React लाइब्रेरी जैसी मौलिक चीज़ को भी मैन्युअल रूप से इंस्टॉल करना पड़ता है यदि आप एक नया React प्रोजेक्ट सेट अप कर रहे हैं। npm एक बहुत ही आसान कमांड प्रदान करके इस प्रक्रिया को सरल बनाता है ताकि निर्भरताओं को त्वरित रूप से इंस्टॉल और अनइंस्टॉल किया जा सके।
- दोहराए जाने वाले कार्यों को स्वचालित करना। सामान्य प्रोजेक्ट डेवलपमेंट प्रक्रिया में कार्यों को चलाना दोहराव वाला होता है। अक्सर मेन रेपो में पुश करने से पहले अपने कोड को लिंट करना आवश्यक होता है। अन्य समय, गिट कमिट पर हस्ताक्षर करने से पहले टेस्ट अनिवार्य होते हैं। ये कार्य हमेशा मैन्युअल रूप से किए जा सकते हैं, लेकिन npm एक शॉर्टकट प्रदान करता है। आप इन कमांड्स को अपने package.json फाइल्स में स्क्रिप्ट्स के रूप में परिभाषित कर सकते हैं। फिर, इन स्क्रिप्ट्स को विशिष्ट कीवर्ड्स को असाइन किया जा सकता है, जैसे run, या build।
- अपने पैकेज प्रकाशित करना। npm में वैश्विक रूप से उपलब्ध नोड पैकेज के npmjs.com रिपॉजिटरी के लिए आउट-ऑफ-द-बॉक्स सपोर्ट है। इसका मतलब है कि अपने पैकेज बनाना और प्रकाशित करना आसान है। आपको अपने पैकेज को ऑनलाइन प्राप्त करने में मदद के लिए केवल कुछ कमांड की आवश्यकता है।
- GitHub के साथ संगतता: npmjs.com रिपॉजिटरी के अलावा, npm का GitHub पैकेज के लिए भी सपोर्ट है। इसका मतलब है कि यदि आपके पास इससे जुड़े GitHub पैकेज के साथ एक GitHub रिपॉजिटरी है, तो आप अपना npm पैकेज प्रकाशित कर सकते हैं और इसे अपने स्थानीय प्रोजेक्ट्स में निर्भरता के रूप में खींच सकते हैं।
npm सीखना
यह देखते हुए कि npm इतना बहुमुखी टूल है, इस पर समय-समय पर ब्रश अप करना महत्वपूर्ण है। npm में शुरुआती के रूप में शुरुआत करने में आपकी सहायता के लिए संसाधनों की एक सूची निम्नलिखित है।
सर्वश्रेष्ठ npm संसाधन
चूंकि npm जावास्क्रिप्ट इकोसिस्टम में एक टूल है, इसलिए इसके लिए बहुत सारा समुदाय-जनित कंटेंट उपलब्ध है। इससे पहले कि हम उस पर नज़र डालें, यहां कुछ बेहतरीन वीडियो कोर्स हैं जो आपको शुरू करने में मदद करेंगे:
npm – Mastering the Basics
- प्लेटफॉर्म: Udemy
- अवधि: 40 मिनट
- कीमत: मुफ्त
- पूर्वापेक्षा: कोई नहीं
- प्रारंभ तिथि: ऑन-डिमांड
1,500 से अधिक छात्रों द्वारा 4.4-स्टार रेटिंग के साथ, यह कोर्स भीड़ से अलग खड़ा है। चूंकि यह मुफ्त होने के साथ-साथ ऑन-डिमांड भी है, यह निरपेक्ष शुरुआती के लिए सर्वोत्तम संभव वीडियो संसाधन बनाता है। यह 40 मिनट का कोर्स 16 वीडियो में विभाजित है, जो npm के प्रत्येक उप-विषय को लगभग 3 मिनट तक कवर करता है। यह शिक्षार्थियों को npm के किसी भी उप-विषय पर कंटेंट को आसानी से संदर्भित करने में मदद करता है।
Traversy Media द्वारा NPM क्रैश कोर्स
- प्लेटफॉर्म: YouTube
- अवधि: 42 मिनट
- कीमत: मुफ्त
- पूर्वापेक्षा: कोई नहीं
- प्रारंभ तिथि: ऑन-डिमांड
यह विषय पर उपलब्ध सबसे संक्षिप्त कोर्स में से एक है, जो npm के सभी आवश्यक उप-विषयों को छूता है, उन पर पर्याप्त जानकारी प्रदान करता है। यदि आप एक ऐसे कोर्स की तलाश में हैं जो npm के सभी पहलुओं का वॉकथ्रू दे सके, साथ ही जब भी आवश्यक हो वापस संदर्भित करने के लिए पर्याप्त छोटा हो, तो यह वही है। प्लस साइड पर, Traversy Media की शुरुआती-अनुकूल कोर्स बनाने के लिए बड़ी प्रतिष्ठा है।
NPM Playbook
- प्लेटफॉर्म: Pluralsight
- अवधि: 1 घंटा
- कीमत: Pluralsight सब्सक्रिप्शन आवश्यक
- पूर्वापेक्षा: कोई नहीं
- प्रारंभ तिथि: ऑन-डिमांड
NPM Playbook की 350 से अधिक छात्रों द्वारा 4.5-स्टार रेटिंग है। यदि आपके पास npm के साथ पूर्व अनुभव है तो यह लेने के लिए एक अनुशंसित कोर्स है। कोर्स इस बात पर शानदार अंतर्दृष्टि प्रदान करता है कि npm CLI के साथ काम करते समय हुड के नीचे क्या होता है।
npm किताबें
वीडियो कोर्स के अलावा, npm के साथ शुरुआत करने में आपकी मदद करने के लिए कई किताबें उपलब्ध हैं। कुछ शीर्ष किताबों में शामिल हैं:
'ABeginner's Guide to npm, the Node Package Manager' SitePoint द्वारा
$4.99 की कीमत पर, किताब npm की मूल बातें विस्तार से कवर करती है। इसमें यहां एक लाइव प्रीव्यू भी उपलब्ध है। किताब में package.json पर एक समर्पित खंड भी है, जो नोड-आधारित प्रोजेक्ट्स में एक महत्वपूर्ण फाइल है। जबकि कई संसाधन निर्भरताओं के वर्जन कंट्रोल जैसे छोटे विवरणों को याद करते हैं, इस किताब में यह सब आपके लिए कवर किया गया है।
'Learn using NPM' Rising Stack द्वारा
Learn using NPM Rising Stack द्वारा प्रकाशित एक मुफ्त ई-बुक है। यह टूल की मूल बातें जल्दी से स्किम करने के लिए एक बढ़िया संसाधन है, क्योंकि यह पर्याप्त रूप से छोटा और संक्षिप्त है। ई-बुक को Rising Stack लैंडिंग पेज पर अपना ईमेल पता दर्ज करके मुफ्त में डाउनलोड किया जा सकता है।
npm संसाधन
वीडियो कोर्स और किताबों के अलावा, npm पर कई बेहतरीन लेख ऑनलाइन उपलब्ध हैं। यहां npm पर कुछ बेहतरीन लेखों की सूची है:
- Robin Wieruch द्वारा A NPM Crash Course
- nodesource.com द्वारा An Absolute Beginner's Guide to Using npm
- SitePoint द्वारा A Beginner's Guide to npm, the Node Package Manager
ऊपर साझा किए गए संसाधनों के अलावा, स्वतंत्र रूप से बहुत कम अच्छे उपलब्ध हैं। कारण यह है कि अधिकांश मानक Node.js कोर्स npm को एक स्वतंत्र अध्याय के रूप में कवर करते हैं।
एक डेवलपर को शायद ही कभी Node एनवायरनमेंट के बाहर npm सीखने की आवश्यकता होती है। यही कारण है कि आप Node-आधारित कोर्स के अंदर npm पर कुछ बेहतरीन वीडियो या लेख पा सकते हैं। हालांकि, जब ऐसा लगता है कि वे पर्याप्त नहीं हैं, तो आप हमेशा इस सूची पर वापस आकर विषय पर कुछ समर्पित कंटेंट प्राप्त कर सकते हैं।
npm सीखने में कितना समय लगता है?
npm की उपयोगिता में सरलता को देखते हुए, आमतौर पर शुरुआती लोगों को टूल से परिचित होने में लगभग 10 दिन लगते हैं। कुंजी कमांड्स के साथ प्रयोग करते रहना और नए होने पर डमी प्रोजेक्ट में उनका अभ्यास करते रहना है।
वैकल्पिक रूप से, आप npm के सबसे महत्वपूर्ण कमांड्स की एक छोटी सूची एक-लाइन व्याख्या के साथ लिखने का प्रयास कर सकते हैं। आप इस सूची को अपने डेस्क पर पोस्ट-इट नोट पर चिपका सकते हैं, या अपने कंप्यूटर स्क्रीन पर वर्चुअल स्टिकी नोट बना सकते हैं। जब आप किसी ऐसे कमांड की तलाश कर रहे हों जो आपको याद न हो तो यह बहुत काम आएगा। यहां बताया गया है कि npm कमांड्स की एक सामान्य चीट शीट कैसी दिखेगी:
- Init – एक नया प्रोजेक्ट इनिशियलाइज़ करता है
- install <package> – उक्त पैकेज इंस्टॉल करता है
- build – package.json में परिभाषित बिल्ड स्क्रिप्ट चलाता है
- start – package.json में परिभाषित स्टार्ट स्क्रिप्ट चलाता है
- publish – लोकल पैकेज को npmjs.org पर प्रकाशित करता है
- uninstall <package> – उक्त पैकेज अनइंस्टॉल करता है
- run-script <script> – package.json में परिभाषित उक्त स्क्रिप्ट चलाता है
क्या आपको npm सीखना चाहिए?
npm पर पाठ्यक्रमों और कंटेंट की एक शानदार सूची संकलित करने के बाद, हम अब सभी के सबसे महत्वपूर्ण प्रश्न का सामना कर रहे हैं: क्या आपको npm सीखना चाहिए? इसका उत्तर कई कारकों पर निर्भर करता है। यदि आपकी दिन-प्रतिदिन की नौकरी में जावास्क्रिप्ट कोड बनाना और लिखना शामिल है, तो npm सबसे महत्वपूर्ण टूल्स में से एक है जो आपके पास होना चाहिए। यदि आप npm रजिस्ट्री पर पैकेज प्रकाशित करना चाहते हैं, तो कोई अन्य टूल आपके उपयोग-मामले को बेहतर ढंग से फिट नहीं करेगा।
वैकल्पिक रूप से, यदि आप केवल अपने प्रोजेक्ट्स में निर्भरताओं को प्रबंधित करना चाहते हैं, तो आप yarn और pnpm जैसे विकल्पों का पता लगाना चाह सकते हैं। ऐसा इसलिए है क्योंकि yarn और pnpm गति और सुरक्षा के मामले में npm से बेहतर साबित होते हैं। उस ने कहा, npm नोड प्रोजेक्ट्स को प्रबंधित करने के लिए शीर्ष टूल बना हुआ है, क्योंकि यह NodeJS के साथ बंडल होकर आता है।
यदि आप कभी भी किसी भी क्षमता में नोड प्रोजेक्ट्स पर काम करने जा रहे हैं, तो आप npm के कुछ कार्यात्मक ज्ञान के साथ बेहतर स्थिति में हैं।