त्वरित रीडर के लिए : यह QA पैकेज के बारे में है । पैकेज के बारे में नहीं , बल्कि बंडल की गई निर्भरता क्षेत्र।
बंडल्ड डिपेंडेंसी क्या करते हैं
"बंडल्ड डिपेंडेंसीज़" वास्तव में उनका नाम क्या है। निर्भरताएँ जो आपके प्रोजेक्ट के अंदर होनी चाहिए। तो कार्यक्षमता मूल रूप से सामान्य निर्भरता के समान है। दौड़ते समय उन्हें पैक भी किया जाएगा npm pack
।
उनका उपयोग कब करना है
सामान्य निर्भरता आमतौर पर npm रजिस्ट्री से स्थापित की जाती है। इस प्रकार बंडल निर्भरताएं उपयोगी होती हैं जब:
- आप तीसरे पक्ष के पुस्तकालय का फिर से उपयोग करना चाहते हैं जो npm रजिस्ट्री से नहीं आता है या जिसे संशोधित किया गया था
- आप मॉड्यूल के रूप में अपनी खुद की परियोजनाओं का फिर से उपयोग करना चाहते हैं
- आप अपने मॉड्यूल के साथ कुछ फ़ाइलों को वितरित करना चाहते हैं
इस तरह, आपको अपनी खुद की npm रिपॉजिटरी बनाने (और बनाए रखने) की ज़रूरत नहीं है, लेकिन वही लाभ प्राप्त करें जो आपको npm पैकेज से मिलते हैं।
जब बंडल निर्भरता का उपयोग करने के लिए नहीं
विकास करते समय, मुझे नहीं लगता कि मुख्य बिंदु हालांकि आकस्मिक अपडेट को रोकना है। हमारे पास इसके लिए बेहतर उपकरण हैं, अर्थात् कोड रिपोजिटरी (git, मर्क्यूरियल, svn ...) या अब लॉक फाइलें।
अपने पैकेज संस्करणों को पिन करने के लिए, आप उपयोग कर सकते हैं:
Option1: नोड के साथ आने वाले नए NPM संस्करण 5 का उपयोग करें। यह एक package-lock.json
फाइल का उपयोग करता है ( नोड ब्लॉग और नोड 8 रिलीज देखें)
विकल्प 2: के बजाय यार्न का उपयोग करें npm
। यह फेसबुक से एक पैकेज मैनेजर है, इससे तेज npm
और यह एक yarn.lock
फाइल का उपयोग करता है । यह package.json
अन्यथा का उपयोग करता है ।
यह बुंडलर या कार्गो जैसे अन्य पैकेज प्रबंधकों में लॉकफाइल्स के लिए तुलनीय है। यह npm के npm-संकोwrap.json के समान है, हालांकि यह हानिपूर्ण नहीं है और यह प्रतिलिपि प्रस्तुत करने योग्य परिणाम बनाता है।
npm
वास्तव में उस सुविधा को yarn
अन्य चीजों के बीच से कॉपी किया गया है ।
- Option3: यह पहले से अनुशंसित दृष्टिकोण था, जिसे मैं अब और नहीं सुझाता । यह विचार
npm shrinkwrap
अधिकांश समय का उपयोग करने के लिए था , और कभी-कभी नोड कोड सहित पूरी चीज को अपने कोड रिपॉजिटरी में डाल दिया। या संभवतः संकोचन का उपयोग करें । उस समय के सबसे अच्छे अभ्यासों की चर्चा नोड.जेएस ब्लॉग और आनंदित डेवलपर वेबसाइटों पर की गई थी।
यह सभी देखें
यह प्रश्न के दायरे से थोड़ा बाहर है, लेकिन मैं अंतिम प्रकार की निर्भरता (जो मुझे पता है) का उल्लेख करना चाहूंगा: सहकर्मी निर्भरता । इसके अलावा इस संबंधित एसओ प्रश्न और संभवतः बंडलड डिपेंडेंसीyarn
पर डॉक्स देखें ।