निर्भरता बनाम भक्ति निर्भरता

क्या आपने कभी अपने आप से पूछा है कि आपके पैकेज के अंदर इन दो प्रकार की निर्भरताओं में क्या अंतर है। इस लेख में मैं सरल शब्दों का उपयोग करके इस प्रश्न का उत्तर देने का प्रयास करूंगा।

निर्भरताएं क्या हैं और उनका उपयोग किस लिए किया जाता है?

यदि आप 2007 से डेवलपर नहीं हैं, और आप पैकेज प्रबंधकों का उपयोग करके फ्रेमवर्क और लिबास स्थापित कर रहे हैं, तो आपको निर्भरता का उपयोग करना चाहिए, भले ही आप उनके बारे में नहीं जानते हों। कल्पना कीजिए कि आपने Vue का उपयोग करके शानदार वेबसाइट बनाई है और इसे npm के साथ स्थापित किया है। और आप अन्य लोगों को यह देखना चाहते हैं कि आप कौन से अद्भुत डेवलपर हैं और आपने अपनी परियोजना को एक गीथब रेपो में बदल दिया है, और निश्चित रूप से आपने अपने नोड_मॉडल को एक .gitignore फ़ाइल में जोड़ा है, क्योंकि आप चतुर डेवलपर हैं। फिर अन्य लोग आपके प्रोजेक्ट को अपनी मशीनों पर कॉपी करते हैं और इसे एक लोकलहोस्ट पर चलाने की कोशिश करते हैं, लेकिन ओप्प्पस, कुछ भी काम नहीं करता ... ये सब इस्तेमाल किए गए Vue की वजह से होता है, जिसे हमारे नोड_मॉड्यूल्स के अंदर स्थापित किया गया था जिसे आपने पुश नहीं किया था। इस समस्या का एकमात्र समाधान केवल अपने प्रोजेक्ट फ़ोल्डर के अंदर npm इंस्टॉल स्क्रिप्ट को चलाना है

और यह तब होता है जब package.json खेल में प्रवेश करता है। यह कमांड आपके package.json में जाएगी और आपके आश्रितों में उल्लिखित सभी चौखटे और lib स्थापित करेगी। उदाहरण के लिए, मेरे मामले में, Vue और Vue- मटेरियल को स्थापित किया जाएगा + npm के एक स्थिर काम के लिए आवश्यक पैकेज

आपके पैकेज के अंदर निर्भरताएं कैसे दिखाई देती हैं।

जब आप npm का उपयोग करके कुछ काम स्थापित कर रहे हैं, तो सभी आवश्यक जानकारी स्वचालित रूप से एक निर्भरता में जुड़ जाती है। उदाहरण के लिए, Vpm को npm install vuex --save का उपयोग करके स्थापित करें

Vuex और सभी अतिरिक्त आवश्यक पैकेजों को आपकी निर्भरता में सफलतापूर्वक जोड़ा गया है।

निर्भरता बनाम भक्ति निर्भरता

और अब इस लेख के मुख्य प्रश्न का उत्तर देने का समय है, इन दो प्रकार की निर्भरताओं में क्या अंतर है?

विकास पर निर्भरता वाले पैकेजों का उपयोग किया जाना चाहिए या जिनका उपयोग आपके बंडल को बनाने के लिए किया जाता है, उदाहरण के लिए, मोचा, jscs, ग्रंट-कॉन्ट्रिब-वॉच, गुलप-जेड और आदि। ये पैकेज आपके प्रोजेक्ट को विकसित करते समय नेस्सेरी हैं। ESlint का उपयोग आपके बंडल के निर्माण के दौरान सब कुछ जांचने के लिए किया जाता है। -देव ध्वज का उपयोग करके इन सभी पैकेजों को स्थापित करें, यह एनपीएम से कहेंगे, हे, मुझे विकास के लिए इन पैकेजों की आवश्यकता है, इसलिए यह सामान्य निर्भरता के बजाय स्वचालित रूप से पैकेज को निर्भरता में जोड़ देगा।

वैसे, एनपीएम डिफ़ॉल्ट रूप से निर्भरता और अवमूल्यन दोनों से स्थापित पैकेजों द्वारा स्थापित होता है। मैंने वर्षों से इस ध्वज का उपयोग नहीं देखा है, लेकिन मैं आपको इसकी जानकारी दूंगा, छोटी परियोजनाओं के लिए यह npm स्थापित करने का काम कर सकता है - अनुत्पादक, --production ध्वज npm को कहता है, हे, मैं चाहता हूं कि आप संकुल स्थापित करें केवल सामान्य निर्भरता से।

निर्भरता में लिबास होना चाहिए और आपके ऐप को बनाया जाना चाहिए, जैसे कि Vue, React, Angular, Express, JQuery और आदि। आप मुझसे सहमत होंगे, अगर मैं कहूं, कि आपका प्रोजेक्ट इन पैकेज के बिना काम नहीं करेगा (यदि आप उनका उपयोग कर रहे हैं) , बेशक)।

निष्कर्ष

ऊपर जा रहा है, उपयोग करें -देव ध्वज, यदि आप उन पैकेजों को स्थापित कर रहे हैं जो आप विकास के दौरान उपयोग करेंगे, और यह नहीं कि आप जो पैकेज स्थापित कर रहे हैं वह उत्पादन के लिए है।

मेरे लेख को पढ़ने के लिए धन्यवाद, इस कहानी के लिए ताली बजाकर मुझे मेरे माध्यम की प्रोफाइल को बढ़ाने में मदद करने के लिए, प्रोग्रामिंग के बारे में मेरे अन्य लेख पढ़ें: