NPM और नोड_मॉड्यूल आधुनिक जावास्क्रिप्ट विकास परिवेश में एक अभिन्न भूमिका निभाएं। वे आपके प्रोजेक्ट के लिए आवश्यक सभी निर्भरताएँ स्थापित और प्रबंधित करते हैं, जिससे आपके कोड को साझा करना और वितरित करना आसान हो जाता है। हालाँकि, नोड_मॉड्यूल फ़ोल्डर अनावश्यक पैकेजों से फूला हुआ हो सकता है, जिससे आपकी विकास प्रक्रिया धीमी हो सकती है। यह आलेख एनपीएम स्थापित नोड_मॉड्यूल फ़ोल्डर को प्रभावी ढंग से और कुशलता से साफ करने की एक विधि को कवर करेगा।
इस समस्या का एक समाधान उपयोग करना है एनपीएम सीआई. यह कमांड मौजूदा नोड_मॉड्यूल फ़ोल्डर को हटा देता है और सभी निर्भरताओं को स्क्रैच से पुनर्स्थापित करता है। यह केवल आपके पैकेज-लॉक.जेसन को देखेगा, विसंगतियां होने पर पैकेज.जेसन को नजरअंदाज कर देगा, यह सुनिश्चित करेगा कि हर बार बिल्कुल समान निर्भरताएं स्थापित की जाएंगी।
npm ci
कोड की चरण-दर-चरण व्याख्या
आइए इसकी कार्यप्रणाली के बारे में गहराई से जानें एनपीएम सीआई. जब आप यह कमांड चलाएंगे, तो एनपीएम निम्नलिखित कार्य करेगा:
- अपना वर्तमान नोड_मॉड्यूल फ़ोल्डर हटाएं।
- npm रजिस्ट्री से अपनी package-lock.json फ़ाइल में निर्दिष्ट सभी निर्भरताएँ प्राप्त करें।
- सभी निर्भरताएँ स्थापित करें और लिंक करें।
परिणाम आपके नोड_मॉड्यूल फ़ोल्डर को अवरुद्ध करने वाले अधिशेष पैकेजों के बिना आपकी सभी निर्भरताओं की एक ताज़ा स्थापना है।
पैकेज-लॉक.जेसन की भूमिका
यह समझने के लिए कि कैसे एनपीएम सीआई काम करता है, package-lock.json फ़ाइल की भूमिका को समझना महत्वपूर्ण है। यह फ़ाइल किसी दिए गए बिंदु पर सटीक निर्भरता वृक्ष को कैप्चर करती है। इस प्रकार, जब npm ci निर्भरता को पुनः स्थापित करता है, तो यह package-lock.json फ़ाइल में कैप्चर किए गए संस्करणों का उपयोग करता है, यह सुनिश्चित करता है कि इंस्टॉलेशन हर बार चलने पर सुसंगत हो।
एनपीएम सीआई की दक्षता
एनपीएम सीआई की दक्षता व्यक्तिगत पैकेज संस्करण रिज़ॉल्यूशन को बायपास करने की क्षमता से आती है। इसके बजाय, यह रिज़ॉल्यूशन की आवश्यकता के बिना सटीक संस्करण स्थापित करने के लिए package-lock.json का उपयोग करता है। इससे डिफ़ॉल्ट npm इंस्टॉल की तुलना में तेज़ और साफ़ इंस्टॉलेशन होता है।
यह ध्यान रखना महत्वपूर्ण है कि एनपीएम सीआई कमांड निरंतर एकीकरण वातावरण में विशेष रूप से उपयोगी है, जहां आप यह सुनिश्चित करना चाहते हैं कि प्रत्येक निर्माण के लिए नोड_मॉड्यूल निर्देशिका एक साफ स्थिति में है।
अतिरिक्त पुस्तकालय और कार्य
जबकि npm ci एक शक्तिशाली उपकरण है, ऐसे अन्य पुस्तकालय और फ़ंक्शन भी हैं जिनसे आपके प्रोजेक्ट को लाभ हो सकता है। एनपीएम प्रूनउदाहरण के लिए, "बाहरी" पैकेज हटा देता है। एक बाहरी पैकेज वह है जो मूल पैकेज की निर्भरता सूची में सूचीबद्ध नहीं है।
npm prune
इस कमांड को चलाने के बाद, केवल वही पैकेज बचे हैं जो आपके नोड_मॉड्यूल फ़ोल्डर में होने चाहिए। इसके अतिरिक्त, जैसे पुस्तकालय भी हैं डिपचेक यह आपके कोड का विश्लेषण करेगा और आपको बताएगा कि आप कौन से पैकेज का उपयोग नहीं कर रहे हैं, फिर आप मैन्युअल रूप से अनइंस्टॉल करने का निर्णय ले सकते हैं।
अंत में, एक कुशल जावास्क्रिप्ट विकास वातावरण के लिए नोड_मॉड्यूल को प्रबंधित करना और इसे साफ रखना महत्वपूर्ण है। एनपीएम के अंदर और बाहर सीखने और इसकी सुविधाओं और आदेशों के शक्तिशाली सेट का लाभ उठाने से आपके काम से अधिकतम लाभ उठाने में मदद मिलेगी।