जूरी स्ट्रम्पफ्लोहनर मुझे लगता है कि बाजार में अन्य उपकरणों की तुलना में एनएक्स के मुख्य विभेदकों में से एक यह है कि एनएक्स को बड़ी फॉर्च्यून 500 कंपनियों के साथ हमारे काम के परिणामस्वरूप बनाया गया था। हमने बड़े कोडबेस पर काम करने के दर्द को देखा है (और महसूस किया है), इस तरह से Nx की शुरुआत हुई और Nx में हमारे पास मौजूद कुछ विशेषताएं कैसे आईं। यही कारण है कि एनएक्स आज अपनी कोड मचान क्षमता का उपयोग करके एक नए एनएक्स मोनोरेपो के साथ बहुत तेजी से शुरुआत कर सकता है, लेकिन एनएक्स और एनएक्स क्लाउड कैशिंग का लाभ उठाकर और सीआई में कार्यों को वितरित करके हजारों परियोजनाओं के साथ विशाल मोनोरेपो तक भी पहुंच सकता है।
लुकास होल्ज़र: इसलिए एनएक्स को करीब से देखने पर, इसे परिभाषित करने के दो तरीके हैं। "एकीकृत" और "पैकेज-आधारित" परिभाषाओं के बीच क्या अंतर है? कब क्या पसंद करें?
जूरी स्ट्रम्पफ्लोहनर: यह एक शब्द है जिसे हम (एनएक्स पर) लेकर आए हैं - हां, नामकरण कठिन है * हंसी आती है * - लेकिन हम उन मोनोरेपो के प्रकारों को नाम देना चाहते थे जिन्हें आप अब ज्यादातर जेएस पारिस्थितिकी तंत्र में पा सकते हैं। एक "पैकेज-आधारित" मोनोमोर्फो वह है जो आप कई या उद्योग के अनुसार विशिष्ट डेटाबेस अधिकांश ओपन सोर्स लाइब्रेरीज़ के साथ देखते हैं। कुछ के नाम बताने के लिए Angular, React, Vue या Vite रिपॉजिटरी पर एक नज़र डालें। ये मोनोरेपो हैं जिनमें संस्करण के स्पष्ट इरादे के साथ संबंधित पैकेज शामिल हैं और उन्हें एनपीएम पर प्रकाशित किया गया है। इस तरह लार्ना का निर्माण हुआ। इन रिपॉजिटरी को आमतौर पर बहुत ढीले प्रबंधन की विशेषता होती है, जिसमें प्रत्येक पैकेज अलग-अलग टूल का उपयोग कर सकता है; पैकेज एनपीएम/यार्न/पीएनएम कार्यस्थानों की package.json निर्भरता विशेषता का उपयोग करके एक-दूसरे पर निर्भर होते हैं और उनका लाभ उठाते हैं। पैकेज-आधारित मोनोरेपो पर स्विच करना बहुत आसान है, क्योंकि आरंभ करने के लिए आप बस प्रोजेक्ट को उसकी निर्भरता के साथ मोनोरेपो में ले जाते हैं और अधिकांश अन्य चीजों को अछूता छोड़ देते हैं। यदि आप ऐसे सेटअप में Nx का उपयोग करना चाहते हैं, तो आपको मूल रूप से nx npm पैकेज की आवश्यकता है, और बस इतना ही। यह बस आपके कार्यों को चलाएगा और चीजों को गति देने में मदद के लिए कैशिंग और अन्य सुविधाओं को लागू करेगा।
एक "एकीकृत" मोनोमोर्फ अधिक डीएक्स प्रदान करता है। विशेष रूप से Nx के मामले में, यह Nx प्लगइन्स का उपयोग करके किया जाता है। बेसल में, उदाहरण के लिए, समर्पित भाषा नियमों का उपयोग करके, आप उपयोग कर सकते हैं ये प्लगइन्स आम तौर पर प्रौद्योगिकी विशिष्ट होते हैं, जैसे कि रिएक्ट, रीमिक्स, नेक्स्ट, एस्ट्रो, वाइट इत्यादि के लिए प्लगइन्स होते हैं, और वे आपको नए प्रोजेक्ट आसानी से सेट करने में मदद करने के लिए सुविधाएं प्रदान करते हैं, वे कई टूल को पूर्व-निर्धारित करते हैं (उदाहरण के लिए फ़्लफ़, परीक्षण, e2e परीक्षण) आपके लिए, इस विशेष तकनीक के लिए जिसे आपको अन्यथा स्वयं स्थापित करना होगा। इस तरह, वे अधिक "एकीकृत" होते हैं क्योंकि वे आपको एकीकरण की समस्या को दूर करने में मदद करते हैं, एक रिएक्ट लाइब्रेरी को एक मोनोरेपो में बनाना, टाइपस्क्रिप्ट, लिंटिंग, वाइट-आधारित यूनिट परीक्षणों आदि को सुसंगत तरीके से परिभाषित करना, यह अच्छी तरह से काम करता है . मौजूदा परियोजनाओं के साथ भी.
लुकास होल्ज़र: बड़े पैमाने पर एप्लिकेशन बनाने वाले बड़े संगठनों के लिए Nx इतना अच्छा विकल्प क्यों है?
-
- Posts: 23
- Joined: Mon Dec 23, 2024 3:57 am