"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मास्टरिंग लर्न: ए गाइड टू मैनेजिंग जावास्क्रिप्ट मोनोरेपोस

मास्टरिंग लर्न: ए गाइड टू मैनेजिंग जावास्क्रिप्ट मोनोरेपोस

2024-11-01 को प्रकाशित
ब्राउज़ करें:305

Mastering Lerna: A Guide to Managing JavaScript Monorepos

विषयसूची

  1. परिचय
  2. अध्याय 1: लर्न क्या है?
    • मोनोरपोस क्यों?
  3. अध्याय 2: लर्न की स्थापना और सेटअप
    • आवश्यकताएँ
    • चरण-दर-चरण स्थापना मार्गदर्शिका
    • आपका पहला लर्न प्रोजेक्ट स्थापित करना
  4. अध्याय 3: लर्न में निर्भरता प्रबंधन
    • स्वतंत्र निर्भरताएं
    • साझा निर्भरता उत्थापन
    • बूटस्ट्रैपिंग पैकेज
  5. अध्याय 4: सभी पैकेजों में स्क्रिप्ट चलाना
    • विश्व स्तर पर स्क्रिप्ट निष्पादित करना
    • विशिष्ट पैकेजों को लक्षित करना
  6. अध्याय 5: लर्न के साथ संस्करण और प्रकाशन
    • फिक्स्ड मोड बनाम स्वतंत्र मोड
    • एनपीएम पर पैकेज प्रकाशित करना
  7. अध्याय 6: यार्न कार्यस्थानों के साथ लर्न का उपयोग करना
    • लर्ना में यार्न कार्यस्थानों को सक्षम करना
    • लर्ना यार्न वर्कस्पेस के साथ वर्कफ़्लो को अनुकूलित करना
  8. अध्याय 7: उन्नत लर्न उपयोग
    • फ़िल्टरिंग कमांड
    • कस्टम कमांड बनाना
  9. अध्याय 8: लर्न मोनोरेपोस के लिए सर्वोत्तम अभ्यास
    • लॉजिकल पैकेज संगठन
    • परीक्षण और निर्माण को स्वचालित करना
    • सीआई/सीडी एकीकरण
  10. निष्कर्ष
  11. परिशिष्ट: सामान्य लर्न कमांड

परिचय

कई अन्योन्याश्रित पैकेजों से युक्त बड़े पैमाने पर जावास्क्रिप्ट या टाइपस्क्रिप्ट परियोजनाओं का प्रबंधन करना डेवलपर्स और विकास टीमों के लिए एक महत्वपूर्ण चुनौती हो सकती है। अक्सर, डेवलपर्स प्रत्येक पैकेज के लिए कई रिपॉजिटरी पर भरोसा करते हैं, जिसके परिणामस्वरूप कोड रखरखाव, निर्भरता प्रबंधन और सहयोग के मामले में ओवरहेड खर्च होता है।

Lerna, monorepos के प्रबंधन के लिए विकसित एक शक्तिशाली उपकरण, इस प्रक्रिया को सुव्यवस्थित करता है। मोनोरेपोस टीमों को एक ही रिपॉजिटरी में कई पैकेज होस्ट करने में सक्षम बनाता है, निर्भरता प्रबंधन को सरल बनाता है और टीमों के बीच सहयोग को आसान बनाता है।

इस ईबुक का उद्देश्य आपके मोनोरेपो को कुशलतापूर्वक प्रबंधित करने के लिए लर्न का उपयोग करने के लिए एक संपूर्ण मार्गदर्शिका प्रदान करना है। चाहे आप एक घटक लाइब्रेरी के साथ काम कर रहे हों या कई इंटरकनेक्टेड पैकेजों के साथ एक बड़े पैमाने के प्रोजेक्ट के साथ काम कर रहे हों, आपको लर्न के साथ अपनी उत्पादकता को अधिकतम करने में मदद करने के लिए मूल्यवान अंतर्दृष्टि मिलेगी।


अध्याय 1: लर्न क्या है?

लर्ना एक ओपन-सोर्स टूल है जो मोनोरेपो में कई पैकेजों के प्रबंधन की सुविधा देता है। यह स्वचालित निर्भरता प्रबंधन, संस्करण और प्रकाशन जैसी शक्तिशाली सुविधाएँ प्रदान करता है, जिससे बड़े पैमाने पर जावास्क्रिप्ट और टाइपस्क्रिप्ट परियोजनाओं को बनाए रखना आसान हो जाता है।

मोनोरपोस क्यों?

मोनोरपोस कई बड़े पैमाने की परियोजनाओं के लिए एक वास्तुशिल्प विकल्प हैं, क्योंकि वे कई लाभ प्रदान करते हैं:

  • साझा कोडबेस: मोनोरेपो के साथ, कोड का पुन: उपयोग आसान है। यह दोहराव को कम करता है और परियोजनाओं में एकरूपता सुनिश्चित करता है।
  • सरलीकृत सहयोग: जब सभी पैकेज एक ही स्थान पर हों तो डेवलपर्स अधिक प्रभावी ढंग से एक साथ काम कर सकते हैं।
  • एकीकृत निर्माण प्रक्रियाएं: कई पैकेजों में निर्माण, परीक्षण और तैनाती को मानकीकृत करना आसान हो जाता है।

इन लाभों के बावजूद, मोनोरेपो का प्रबंधन अद्वितीय चुनौतियां ला सकता है, विशेष रूप से निर्भरता और संस्करण प्रबंधन में। लर्न को इन चुनौतियों से सीधे निपटने के लिए डिज़ाइन किया गया है, जो मोनोरेपोज़ के लिए एक अनुकूलित वर्कफ़्लो प्रदान करता है।


अध्याय 2: लर्न की स्थापना और सेटअप

आवश्यकताएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास Node.js और npm (या Yarn) स्थापित है। लर्ना एनपीएम और यार्न दोनों के साथ संगत है।

चरण 1: लर्न को स्थापित करना

आप NPM के माध्यम से विश्व स्तर पर Lerna स्थापित कर सकते हैं:

npm install --global lerna

वैकल्पिक रूप से, आप अपने प्रोजेक्ट में लर्न को विकास निर्भरता के रूप में जोड़ सकते हैं:

npm install --save-dev lerna

चरण 2: लर्न मोनोरेपो को प्रारंभ करना

एक बार इंस्टॉल हो जाने पर, अपनी प्रोजेक्ट निर्देशिका पर नेविगेट करके और चलाकर अपना मोनोरेपो प्रारंभ करें:

lerna init

यह lerna.json सहित आवश्यक कॉन्फ़िगरेशन फ़ाइलें बनाएगा, और एक पैकेज फ़ोल्डर सेट करेगा जहां आपके व्यक्तिगत पैकेज रहेंगे।

चरण 3: पैकेज जोड़ना

लर्ना प्रोजेक्ट में, प्रत्येक पैकेज पैकेज के अंतर्गत अपने स्वयं के सबफ़ोल्डर में रहता है। निर्भरता प्रबंधन के लिए प्रत्येक पैकेज की अपनी package.json फ़ाइल होनी चाहिए।

नमूना संरचना:

/my-project
  /packages
    /package-a
    /package-b
  lerna.json
  package.json

अध्याय 3: लर्न में निर्भरता प्रबंधन

कई पैकेजों में निर्भरता का प्रबंधन करना लर्न की मुख्य शक्तियों में से एक है।

स्वतंत्र निर्भरताएं

लर्ना आपको एक विशिष्ट पैकेज में निर्भरता जोड़ने की अनुमति देता है। उदाहरण के लिए, यदि केवल पैकेज-ए को लॉश की आवश्यकता है, तो आप चला सकते हैं:

lerna add lodash --scope=package-a

साझा निर्भरता उत्थापन

जब एकाधिक पैकेज निर्भरताएं साझा करते हैं, तो आप उन निर्भरताओं को अपने मोनोरेपो की जड़ तक बढ़ा सकते हैं। यह अतिरेक को कम करता है और इंस्टॉलेशन को गति देता है। उत्थापन सक्षम करने के लिए, इसे lerna.json में जोड़ें:

{
  "hoist": true
}

बूटस्ट्रैपिंग

एक दूसरे पर निर्भर निर्भरता और लिंक पैकेज स्थापित करने के लिए, चलाएँ:

lerna bootstrap

यह सुनिश्चित करता है कि सभी आवश्यक बाहरी निर्भरताएँ स्थापित हैं और पैकेज एक दूसरे को ठीक से संदर्भित कर सकते हैं।


अध्याय 4: सभी पैकेजों में स्क्रिप्ट चलाना

लर्ना आपके मोनोरेपो में सभी पैकेजों में स्क्रिप्ट (जैसे, निर्माण, परीक्षण, लिंट) निष्पादित करना आसान बनाता है।

विश्व स्तर पर स्क्रिप्ट निष्पादित करना

सभी पैकेजों में बिल्ड जैसी स्क्रिप्ट चलाने के लिए, उपयोग करें:

lerna run build

विशिष्ट पैकेजों को लक्षित करना

यदि आप केवल कुछ पैकेजों में स्क्रिप्ट चलाना चाहते हैं, तो --स्कोप ध्वज का उपयोग करें:

lerna run test --scope=package-a

यह लचीलापन अधिक लक्षित निष्पादन की अनुमति देता है, जिससे विकास के दौरान समय की बचत होती है।


अध्याय 5: लर्न के साथ संस्करण और प्रकाशन

लर्ना मजबूत संस्करण और प्रकाशन सुविधाएँ प्रदान करता है, जिससे आप आसानी से पैकेज का संस्करण और रिलीज़ कर सकते हैं।

1. निश्चित मोड

निश्चित मोड में, सभी पैकेज समान संस्करण संख्या साझा करते हैं। जब कोई पैकेज अपडेट किया जाता है, तो सभी के लिए संस्करण संख्या बढ़ा दी जाती है।

2. स्वतंत्र मोड

स्वतंत्र मोड में, प्रत्येक पैकेज की अपनी संस्करण संख्या होती है। जब कोई पैकेज बदला जाता है, तो केवल उस पैकेज का संस्करण अपडेट किया जाता है।

स्वतंत्र मोड पर स्विच करने के लिए, lerna.json को संशोधित करें:

{
  "version": "independent"
}

प्रकाशन पैकेज

अपने पैकेजों को एनपीएम पर प्रकाशित करने के लिए, चलाएँ:

lerna publish

लर्ना आपके कॉन्फ़िगरेशन के आधार पर संस्करण और प्रकाशन का काम संभालेगी।


अध्याय 6: यार्न कार्यस्थानों के साथ लर्न का उपयोग करना

लर्ना को यार्न वर्कस्पेसेस के साथ जोड़कर और भी अधिक साझा निर्भरताएं बढ़ाकर निर्भरता प्रबंधन को अनुकूलित किया जा सकता है।

यार्न वर्कस्पेस को सक्षम करने के लिए, अपनी lerna.json फ़ाइल को संशोधित करें:

{
  "npmClient": "yarn",
  "useWorkspaces": true
}

फिर अपना पैकेज अपडेट करें।json:

{
  "workspaces": ["packages/*"]
}

यह एकीकरण प्रदर्शन को बढ़ाता है और बड़े पैमाने की परियोजनाओं के प्रबंधन को सरल बनाता है।


अध्याय 7: उन्नत लर्न उपयोग

फ़िल्टरिंग कमांड

लर्ना विशिष्ट पैकेजों के लिए कमांड चलाने या कुछ पैकेजों को बाहर करने के लिए फ़िल्टरिंग की अनुमति देता है।

विशिष्ट पैकेजों पर चलने का उदाहरण:

lerna run build --scope=package-a --scope=package-b

पैकेज को बाहर करने का उदाहरण:

lerna run build --ignore=package-c

कस्टम कमांड

आप विशेष वर्कफ़्लो के लिए package.json के भीतर कस्टम लर्न कमांड को परिभाषित कर सकते हैं। फिर ये आदेश आपके पैकेजों पर चलाए जा सकते हैं।


अध्याय 8: लर्न मोनोरेपोस के लिए सर्वोत्तम अभ्यास

  1. पैकेजों को तार्किक रूप से व्यवस्थित करें: बेहतर कोड के पुन: उपयोग के लिए संबंधित पैकेजों को एक साथ समूहित करें।
  2. होइस्टिंग का उपयोग करें: साझा निर्भरता को होइस्ट करने से स्थान की बचत होती है और इंस्टॉल समय में तेजी आती है।
  3. स्वचालित परीक्षण: अपने संपूर्ण मोनोरेपो में परीक्षण को स्वचालित करने के लिए लर्न रन का उपयोग करें।
  4. सीआई/सीडी पाइपलाइन: परिवर्तनों को स्वचालित रूप से परीक्षण और तैनात करने के लिए निरंतर एकीकरण और तैनाती वर्कफ़्लो लागू करें।
  5. यार्न वर्कस्पेस: बेहतर निर्भरता प्रबंधन के लिए लर्न के साथ यार्न वर्कस्पेस का लाभ उठाएं।

निष्कर्ष

लर्ना मोनोरेपोज़ को प्रबंधित करने के लिए एक अमूल्य उपकरण है, जो निर्भरता प्रबंधन से लेकर संस्करण और प्रकाशन तक जटिल वर्कफ़्लो को सरल बनाने वाली सुविधाएँ प्रदान करता है। लर्न को अपनाकर, टीमें जटिलता को कम कर सकती हैं, प्रक्रियाओं को सुव्यवस्थित कर सकती हैं और सहयोग में सुधार कर सकती हैं, जिससे बड़े पैमाने की परियोजनाओं को बनाए रखना आसान हो जाता है।

चाहे आप एक साधारण घटक लाइब्रेरी या मल्टी-पैकेज पारिस्थितिकी तंत्र पर काम कर रहे हों, लर्न आपके प्रोजेक्ट को प्रभावी ढंग से प्रबंधित करने के लिए आवश्यक उपकरण प्रदान करता है। इसकी पूरी क्षमता को उजागर करने के लिए लर्न की उन्नत सुविधाओं के साथ प्रयोग करते रहें।


परिशिष्ट: सामान्य लर्न कमांड

  • lerna init: एक Lerna मोनोरेपो को आरंभ करता है।
  • लर्ना बूटस्ट्रैप: निर्भरता स्थापित करता है और पैकेज लिंक करता है।
  • लर्ना ऐड [पैकेज] --स्कोप=[पैकेज-नाम]: एक विशिष्ट पैकेज पर निर्भरता जोड़ता है।
  • लर्ना रन [स्क्रिप्ट]: सभी पैकेजों में एक स्क्रिप्ट चलाता है।
  • लर्ना पब्लिश: एनपीएम पर पैकेज प्रकाशित करता है।

हैप्पी कोडिंग :)

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/samuel_kinuthia/mastering-lerna-a-guide-to- मैनेजिंग-javascript-monorepos-4f2b?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3