कई अन्योन्याश्रित पैकेजों से युक्त बड़े पैमाने पर जावास्क्रिप्ट या टाइपस्क्रिप्ट परियोजनाओं का प्रबंधन करना डेवलपर्स और विकास टीमों के लिए एक महत्वपूर्ण चुनौती हो सकती है। अक्सर, डेवलपर्स प्रत्येक पैकेज के लिए कई रिपॉजिटरी पर भरोसा करते हैं, जिसके परिणामस्वरूप कोड रखरखाव, निर्भरता प्रबंधन और सहयोग के मामले में ओवरहेड खर्च होता है।
Lerna, monorepos के प्रबंधन के लिए विकसित एक शक्तिशाली उपकरण, इस प्रक्रिया को सुव्यवस्थित करता है। मोनोरेपोस टीमों को एक ही रिपॉजिटरी में कई पैकेज होस्ट करने में सक्षम बनाता है, निर्भरता प्रबंधन को सरल बनाता है और टीमों के बीच सहयोग को आसान बनाता है।
इस ईबुक का उद्देश्य आपके मोनोरेपो को कुशलतापूर्वक प्रबंधित करने के लिए लर्न का उपयोग करने के लिए एक संपूर्ण मार्गदर्शिका प्रदान करना है। चाहे आप एक घटक लाइब्रेरी के साथ काम कर रहे हों या कई इंटरकनेक्टेड पैकेजों के साथ एक बड़े पैमाने के प्रोजेक्ट के साथ काम कर रहे हों, आपको लर्न के साथ अपनी उत्पादकता को अधिकतम करने में मदद करने के लिए मूल्यवान अंतर्दृष्टि मिलेगी।
लर्ना एक ओपन-सोर्स टूल है जो मोनोरेपो में कई पैकेजों के प्रबंधन की सुविधा देता है। यह स्वचालित निर्भरता प्रबंधन, संस्करण और प्रकाशन जैसी शक्तिशाली सुविधाएँ प्रदान करता है, जिससे बड़े पैमाने पर जावास्क्रिप्ट और टाइपस्क्रिप्ट परियोजनाओं को बनाए रखना आसान हो जाता है।
मोनोरपोस कई बड़े पैमाने की परियोजनाओं के लिए एक वास्तुशिल्प विकल्प हैं, क्योंकि वे कई लाभ प्रदान करते हैं:
इन लाभों के बावजूद, मोनोरेपो का प्रबंधन अद्वितीय चुनौतियां ला सकता है, विशेष रूप से निर्भरता और संस्करण प्रबंधन में। लर्न को इन चुनौतियों से सीधे निपटने के लिए डिज़ाइन किया गया है, जो मोनोरेपोज़ के लिए एक अनुकूलित वर्कफ़्लो प्रदान करता है।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास Node.js और npm (या Yarn) स्थापित है। लर्ना एनपीएम और यार्न दोनों के साथ संगत है।
आप NPM के माध्यम से विश्व स्तर पर Lerna स्थापित कर सकते हैं:
npm install --global lerna
वैकल्पिक रूप से, आप अपने प्रोजेक्ट में लर्न को विकास निर्भरता के रूप में जोड़ सकते हैं:
npm install --save-dev lerna
एक बार इंस्टॉल हो जाने पर, अपनी प्रोजेक्ट निर्देशिका पर नेविगेट करके और चलाकर अपना मोनोरेपो प्रारंभ करें:
lerna init
यह lerna.json सहित आवश्यक कॉन्फ़िगरेशन फ़ाइलें बनाएगा, और एक पैकेज फ़ोल्डर सेट करेगा जहां आपके व्यक्तिगत पैकेज रहेंगे।
लर्ना प्रोजेक्ट में, प्रत्येक पैकेज पैकेज के अंतर्गत अपने स्वयं के सबफ़ोल्डर में रहता है। निर्भरता प्रबंधन के लिए प्रत्येक पैकेज की अपनी package.json फ़ाइल होनी चाहिए।
नमूना संरचना:
/my-project /packages /package-a /package-b lerna.json package.json
कई पैकेजों में निर्भरता का प्रबंधन करना लर्न की मुख्य शक्तियों में से एक है।
लर्ना आपको एक विशिष्ट पैकेज में निर्भरता जोड़ने की अनुमति देता है। उदाहरण के लिए, यदि केवल पैकेज-ए को लॉश की आवश्यकता है, तो आप चला सकते हैं:
lerna add lodash --scope=package-a
जब एकाधिक पैकेज निर्भरताएं साझा करते हैं, तो आप उन निर्भरताओं को अपने मोनोरेपो की जड़ तक बढ़ा सकते हैं। यह अतिरेक को कम करता है और इंस्टॉलेशन को गति देता है। उत्थापन सक्षम करने के लिए, इसे lerna.json में जोड़ें:
{ "hoist": true }
एक दूसरे पर निर्भर निर्भरता और लिंक पैकेज स्थापित करने के लिए, चलाएँ:
lerna bootstrap
यह सुनिश्चित करता है कि सभी आवश्यक बाहरी निर्भरताएँ स्थापित हैं और पैकेज एक दूसरे को ठीक से संदर्भित कर सकते हैं।
लर्ना आपके मोनोरेपो में सभी पैकेजों में स्क्रिप्ट (जैसे, निर्माण, परीक्षण, लिंट) निष्पादित करना आसान बनाता है।
सभी पैकेजों में बिल्ड जैसी स्क्रिप्ट चलाने के लिए, उपयोग करें:
lerna run build
यदि आप केवल कुछ पैकेजों में स्क्रिप्ट चलाना चाहते हैं, तो --स्कोप ध्वज का उपयोग करें:
lerna run test --scope=package-a
यह लचीलापन अधिक लक्षित निष्पादन की अनुमति देता है, जिससे विकास के दौरान समय की बचत होती है।
लर्ना मजबूत संस्करण और प्रकाशन सुविधाएँ प्रदान करता है, जिससे आप आसानी से पैकेज का संस्करण और रिलीज़ कर सकते हैं।
निश्चित मोड में, सभी पैकेज समान संस्करण संख्या साझा करते हैं। जब कोई पैकेज अपडेट किया जाता है, तो सभी के लिए संस्करण संख्या बढ़ा दी जाती है।
स्वतंत्र मोड में, प्रत्येक पैकेज की अपनी संस्करण संख्या होती है। जब कोई पैकेज बदला जाता है, तो केवल उस पैकेज का संस्करण अपडेट किया जाता है।
स्वतंत्र मोड पर स्विच करने के लिए, lerna.json को संशोधित करें:
{ "version": "independent" }
अपने पैकेजों को एनपीएम पर प्रकाशित करने के लिए, चलाएँ:
lerna publish
लर्ना आपके कॉन्फ़िगरेशन के आधार पर संस्करण और प्रकाशन का काम संभालेगी।
लर्ना को यार्न वर्कस्पेसेस के साथ जोड़कर और भी अधिक साझा निर्भरताएं बढ़ाकर निर्भरता प्रबंधन को अनुकूलित किया जा सकता है।
यार्न वर्कस्पेस को सक्षम करने के लिए, अपनी lerna.json फ़ाइल को संशोधित करें:
{ "npmClient": "yarn", "useWorkspaces": true }
फिर अपना पैकेज अपडेट करें।json:
{ "workspaces": ["packages/*"] }
यह एकीकरण प्रदर्शन को बढ़ाता है और बड़े पैमाने की परियोजनाओं के प्रबंधन को सरल बनाता है।
लर्ना विशिष्ट पैकेजों के लिए कमांड चलाने या कुछ पैकेजों को बाहर करने के लिए फ़िल्टरिंग की अनुमति देता है।
विशिष्ट पैकेजों पर चलने का उदाहरण:
lerna run build --scope=package-a --scope=package-b
पैकेज को बाहर करने का उदाहरण:
lerna run build --ignore=package-c
आप विशेष वर्कफ़्लो के लिए package.json के भीतर कस्टम लर्न कमांड को परिभाषित कर सकते हैं। फिर ये आदेश आपके पैकेजों पर चलाए जा सकते हैं।
लर्ना मोनोरेपोज़ को प्रबंधित करने के लिए एक अमूल्य उपकरण है, जो निर्भरता प्रबंधन से लेकर संस्करण और प्रकाशन तक जटिल वर्कफ़्लो को सरल बनाने वाली सुविधाएँ प्रदान करता है। लर्न को अपनाकर, टीमें जटिलता को कम कर सकती हैं, प्रक्रियाओं को सुव्यवस्थित कर सकती हैं और सहयोग में सुधार कर सकती हैं, जिससे बड़े पैमाने की परियोजनाओं को बनाए रखना आसान हो जाता है।
चाहे आप एक साधारण घटक लाइब्रेरी या मल्टी-पैकेज पारिस्थितिकी तंत्र पर काम कर रहे हों, लर्न आपके प्रोजेक्ट को प्रभावी ढंग से प्रबंधित करने के लिए आवश्यक उपकरण प्रदान करता है। इसकी पूरी क्षमता को उजागर करने के लिए लर्न की उन्नत सुविधाओं के साथ प्रयोग करते रहें।
हैप्पी कोडिंग :)
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3