பொருளடக்கம்[மறை][காட்டு]
- எனவே, தொகுதி கூட்டமைப்பு என்றால் என்ன?
- ஏன் தொகுதி கூட்டமைப்பு?
- தொகுதி கூட்டமைப்பு முக்கிய கூறுகள்
தொகுதி கூட்டமைப்பு முக்கிய அம்சங்கள்+-
- சிறந்த இணைய செயல்திறன்
- பயனுள்ள வளர்ச்சி
- சுய-குணப்படுத்தும் திறன் மற்றும் பணிநீக்கம்
- பொதுவான சார்புகளை திறம்பட கையாளுதல்
- நுகர்வோரை மீண்டும் வரிசைப்படுத்துவதற்குப் பதிலாக, சுயாதீன குறியீட்டை வரிசைப்படுத்தவும்.
- இயங்கும் போது, பிற உருவாக்கத்திலிருந்து குறியீட்டை இறக்குமதி செய்யவும்.
- வாடிக்கையாளர் அனுபவத்தைப் பாதுகாக்கும் போது மேம்படுத்தப்பட்ட டெவலப்பர் அனுபவம்
- மைக்ரோ-ஃப்ரன்ட்கள் ஒரு ஒற்றை பாணியில் இயங்குகின்றன.
- தீர்மானம்
மைக்ரோ ஃபிரண்ட்டெண்ட்ஸ் என்ற கருத்து மைக்ரோ சர்வீஸ்களை ஃபிரண்டெண்ட் மேம்பாட்டிற்குப் பயன்படுத்துகிறது.
பயன்பாடு அல்லது இணையதளத்தை சிறிய, சுயாதீனமாக உருவாக்கப்பட்ட துண்டுகளாகப் பிரிப்பதே இதன் யோசனையாகும், பின்னர் அவை இயங்கும் போது இணைக்கப்படும், அவற்றை ஒரு ஒற்றை, ஒத்திசைவான ஒற்றைப்பாதையாக உருவாக்குவதற்கு மாறாக.
பிற தொழில்நுட்பங்களைப் பயன்படுத்தி மற்றும் சுயாதீன குழுக்களுடன் பயன்பாட்டின் பிற கூறுகளை உருவாக்க இந்த முறை உங்களுக்கு உதவுகிறது.
இந்த வழியில் வளர்ச்சியைப் பிரிப்பதன் மூலம் ஒரு பொதுவான மோனோலித் தொடர்பான பராமரிப்புச் செலவுகளைக் குறைப்பதே யோசனை.
ஒரு ஒத்திசைவான குழுவாக ஒரு பயன்பாட்டின் குறிப்பிட்ட பகுதியில் கவனம் செலுத்த அவர்களை அனுமதிப்பதன் மூலம், பின்தளம் மற்றும் முன்தள டெவலப்பர்களுக்கு இடையேயான ஒத்துழைப்பின் புதிய வடிவங்களையும் இது சாத்தியமாக்குகிறது.
உதாரணமாக, தேடுதல் திறன் அல்லது வணிகத்திற்கு முக்கியமான ஒரு முக்கிய தயாரிப்பின் மற்றொரு அம்சத்திற்கு மட்டுமே பொறுப்பான குழு உங்களிடம் இருக்கலாம்.
தொகுதி கூட்டமைப்பிற்கு நன்றி, பணிப்பாய்வுகளை கையாள போதுமான செயல்பாடு உங்களிடம் உள்ளது மைக்ரோ முன்பக்கம் அணுகுமுறை ஆணைகள்.
இந்த இடுகை தொகுதி கூட்டமைப்பின் கட்டமைப்பையும், அதன் முக்கிய அம்சங்கள் மற்றும் பயன்பாட்டு முறைகளையும் ஆழமாகப் பார்க்கும்.
எனவே, ஒரு என்ன தொகுதி கூட்டமைப்பு?
ஜாவாஸ்கிரிப்ட்டின் தொகுதி கூட்டமைப்பு வடிவமைப்பு பல பயன்பாடுகளில் மீண்டும் பயன்படுத்தப்பட்ட பகுதிகளைப் பயன்படுத்துகிறது.
இது மிகவும் அடிப்படையான வாசகங்கள், ஆனால் நான் அதை அப்படியே தென்றலாகத் தோன்றச் செய்துள்ளேன்.
ரியாக்ட் பயன்பாட்டிற்குள் கூறுகளைப் பகிர்வதை நாம் அனைவரும் நன்கு அறிந்திருப்பதால், மற்ற பயன்பாடுகளின் நுகர்வுக்கான பயன்பாட்டு தொகுதிகளை மாறும் வகையில் அம்பலப்படுத்துவதைத் தவிர்த்து, மாட்யூல் ஃபெடரேஷன் நடைமுறையில் அதே இலக்கை திறம்பட நிறைவேற்றுகிறது.
தொகுதி கூட்டமைப்பு அந்த முக்கிய பகிரப்பட்ட கூறுகளை மேக்ரோ அல்லது மைக்ரோ என விரும்பியபடி வழங்குவதன் மூலம் விநியோகிக்கப்பட்ட அமைப்பில் தொகுதி பகிர்வின் சிக்கலை சமாளிக்க முயல்கிறது.
உங்கள் பயன்பாடுகள் மற்றும் உருவாக்க பணிப்பாய்வு ஆகியவற்றிலிருந்து அவற்றை அகற்றுவதன் மூலம் இது நிறைவேற்றப்படுகிறது.
ஏன் தொகுதி கூட்டமைப்பு?
தொகுதி கூட்டமைப்பு எளிதில் கையாளக்கூடிய சில காரணிகள் இங்கே:
- வெளிப்புறங்கள் மற்றும் DLLகள் (டைனமிக் லிங்க் லைப்ரரிகள்) எப்போதாவது ஆப்ஸுக்கு இடையேயான செயல்பாட்டைப் பகிர்வதற்கு எங்களிடம் இருந்தது. இவை அனைத்தும் அளவிடுதல் குறியீடு பகிர்வை மிகவும் சவாலானதாக ஆக்கியது.
- NPM மந்தமாக உள்ளது.
- இரண்டு தனித்தனி நிரல்கள் முக்கியமான குறியீட்டைப் பகிரும்போது, அவை மாறும் மற்றும் நெகிழ்வானதாக இருக்க வேண்டும்.
தனித்தனியான பயன்பாடுகள் முற்றிலும் அவற்றின் சொந்த களஞ்சியத்தில் இருக்க, தனித்தனியாக வரிசைப்படுத்தவும் மற்றும் அவற்றின் சொந்த சுயாதீனமான SPA ஆக செயல்படவும், தொகுதி கூட்டமைப்பு உருவாக்கப்பட்டது.
தொகுதி கூட்டமைப்பு முக்கிய கூறுகள்
ஆழமாக மூழ்குவதற்கு முன், தொகுதி கூட்டமைப்பு கொண்டு வரும் சில புதிய கருத்துக்களை சுருக்கமாக விவாதிப்பது முக்கியம்.
- புரவலன்: ஒரு பக்கம் ஏற்றப்படும் போது, ஆரம்பத்தில் துவக்கப்பட்ட உருவாக்கம் அல்லது தொகுதி ஹோஸ்ட் எனப்படும். வழங்குநரை ஹோஸ்டாகக் கருதலாம்.
- ரிமோட்: ரிமோட் என்பது ஹோஸ்டின் ஒரு பகுதியைப் பயன்படுத்தும் வேறுபட்ட கட்டமைப்பாகும். அவர்கள் வாடிக்கையாளர்கள் என்றும் குறிப்பிடப்படுகிறார்கள்.
- இரு-திசை ஹோஸ்ட்: மற்ற ஹோஸ்ட்கள் பயன்படுத்தும் ரிமோட் மற்றும் ரிமோட்களைப் பயன்படுத்தும் ஹோஸ்ட் ஆகிய இரண்டிலும் செயல்படும் வெப்பேக் உருவாக்கம்.
- விற்பனையாளர் கூட்டமைப்பு: ஹோஸ்ட் அல்லது ரிமோட்டுக்கான npm தொகுதி சார்புகளின் அறிவிப்புப் பகிர்ந்த இயக்க நேரப் பகிர்வை செயல்படுத்துகிறது, அவை எந்த இடத்திலிருந்து ஏற்றப்படுகின்றன என்பதைப் பொருட்படுத்தாமல். மைக்ரோ ஃபிரண்ட்டெண்டுகளின் முக்கிய செயல்திறன் சிக்கல்களில் ஒன்று இந்த வழியில் தீர்க்கப்படுகிறது.
கூட்டமைப்பு பயன்பாட்டின் வடிவங்கள்
எவர்கிரீன் டிசைன் சிஸ்டம்
ஃபெடரேட் அப்ளிகேஷன்களின் அடிப்படை வடிவங்களில் ஒன்று "எவர்கிரீன் ரிமோட்" ஆகும், இது "வடிவமைப்பு அமைப்பு" அல்லது "கூறு நூலகம்" போன்ற பகிரப்பட்ட ரிமோட் ஆகும், இது அனைத்து பயனர்களுக்கும் சுயாதீனமாக விநியோகிக்கப்படுகிறது மற்றும் புதுப்பிக்கப்படுகிறது.
ஒவ்வொரு ஆப்ஸ் குழுவும் திருத்தங்களில் நேரத்தைச் செலவிட வேண்டிய அவசியம் இல்லாமல், அனைத்து ஆன்லைன் தளங்களும் மிகச் சமீபத்திய கார்ப்பரேட் அடையாளத்தை கடைபிடிப்பதை உறுதிசெய்ய இது உதவியாக இருக்கும்.
பாதுகாப்பான, நடந்துகொண்டிருக்கும் புதுப்பிப்புகளுக்கு உத்தரவாதம் அளிக்க தேவையான வரம்புகள் மற்றும் நடைமுறைகளை வடிவமைத்து செயல்படுத்த, கூட்டமைப்பு பயன்பாட்டு கட்டமைப்பைக் கருத்தில் கொள்ளும்போது வணிகங்கள் தொடங்குவதற்கு இது ஒரு பயனுள்ள இடமாக இருக்கலாம்.
சுதந்திரமாகப் பயன்படுத்தப்படும் பகிரப்பட்ட ரிமோட்டுகள் பொருத்தமான பொருத்தமாக இருக்கும் சில பயன்பாட்டு நிகழ்வுகள் பின்வருமாறு:
- வடிவமைப்பு அமைப்புகள்
- பயன்பாட்டு குண்டுகள்
- கூறு நூலகங்கள்
- நுகர்வோர்கள்
- பகிரப்பட்ட கருவித்தொகுப்புகள்
- உள் அல்லது வெளிப்புறத்தில் பயன்படுத்தப்படும் விட்ஜெட்டுகளுக்கான மாற்று விநியோக மாதிரிகள்
பல SPA தொகுதி பகிர்வு
வெவ்வேறு தனித்த ஒற்றைப் பக்க பயன்பாடுகளில் ஏற்கனவே ஏற்றுமதி செய்யப்பட்ட அம்சங்களை, கூறுகள் போன்றவற்றை மீண்டும் பயன்படுத்தவும். நன்மைகள் அடங்கும்:
- நுகர்வோர் தானியங்கி புதுப்பிப்புகளைப் பெறுகிறார்கள்
- டொமைன் நிபுணத்துவம் அதன் பொறுப்பில் இருக்கும் குழுவில் உள்ளது.
- தனி தொகுதி வெளியீடுகள் தேவையில்லை என்பதால், வரிசைப்படுத்தல் செயல்முறையை நெறிப்படுத்துகிறது.
ஷெல் இயக்கப்படும் கூட்டமைப்பு
ஷெல்-உந்துதல் கூட்டமைப்பில் பின்வருவன அடங்கும்:
- புதிய தயாரிப்பு பதிப்பை உருவாக்கும் போது, தயாரிப்புக் குழு செக்அவுட் குழு தங்கள் வேலையை முடிக்கும் வரை காத்திருக்காது.
- ரிமோட்களை மாற்றும்போது, பக்கத்தை மீண்டும் ஏற்றுவது இல்லை.
- தேவைப்படும் போது, ஷெல் மெதுவாக ரிமோட் லோடிங் மற்றும் (உயர்நிலை) ரூட்டிங் வழங்குகிறது.
- ரிமோட்கள் முழுவதும் ரூட்டிங் விற்பனையாளர் கூட்டமைப்பு மூலம் சாத்தியமாகும், இது அடிக்கடி பயன்படுத்தப்படும் npm தொகுப்புகளை மீண்டும் பயன்படுத்த உதவுகிறது.
- ஷெல் அமைப்பு மற்றும் பிற பொதுவான சார்புகளை வழங்குகிறது, அவை சோம்பேறி ஏற்றப்பட்ட ரிமோட்டுகளால் மீண்டும் பயன்படுத்தப்படுகின்றன.
பல ஷெல் கூட்டமைப்பு
மேலே விவரிக்கப்பட்ட ஷெல்-உந்துதல் கூட்டமைப்பைப் போன்றது, ஆனால் வெவ்வேறு குண்டுகளைப் பயன்படுத்தியது.
இது பின்வருமாறு:
- பல குண்டுகள்
- வெள்ளை-லேபிளிங்
- அனைத்து ரிமோட்டுகளும் Shell B க்கு தேவையில்லை அல்லது சுயாதீன செயலாக்கங்களைக் கொண்டிருக்கவில்லை.
தொகுதி கூட்டமைப்பு முக்கிய அம்சங்கள்
சிறந்த இணைய செயல்திறன்
சாதாரண NPM தொகுதி அமைப்பில் உள்ள சிக்கல் என்னவென்றால், சார்புடையவர்களின் எண்ணிக்கை அதிகரிக்கும் போது, பயன்பாட்டின் அளவு பொதுவாக வளரும்.
உங்கள் பயன்பாடு ஏற்றப்படும்போது மூட்டைகளை ஏற்றுவதைத் தவிர்க்கவும், தேவைப்படும்போது மட்டுமே அவற்றை ஏற்றவும், தொகுதி கூட்டமைப்பு சோம்பேறித்தனமாக மூட்டைகளை ஏற்றும் திறனை உங்களுக்கு வழங்குகிறது.
தொகுதிகள் தேவைப்படுவதற்கு முன்பே அவற்றைப் பதிவிறக்க வேண்டிய அவசியத்தை இது தடுக்கிறது, இது தளத்தின் வேகத்தை மேம்படுத்துகிறது.
பயனுள்ள வளர்ச்சி
ஒவ்வொரு திட்டமும் தனித்தனியாக தயாரிக்கப்பட்டு வழங்கப்படலாம் மற்றும் பல்வேறு குழுக்களால் மேற்கொள்ளப்படலாம், ஏனெனில் உங்கள் விண்ணப்பத்தை தனித்தனி திட்டங்களாக ஒழுங்கமைக்க தொகுதி கூட்டமைப்பு உங்களை ஊக்குவிக்கிறது, இதன் மூலம் நீங்கள் அவற்றை தனித்தனியாக உருவாக்கலாம் மற்றும் வரிசைப்படுத்தலாம் (இதனால் இணையாக).
சுய-குணப்படுத்தும் திறன் மற்றும் பணிநீக்கம்
பகிரப்பட்ட சார்புகள் உங்கள் நிரலின் அனைத்து சார்புகளையும் ஒரே இடத்தில் கண்காணிக்க தொகுதி கூட்டமைப்பை அனுமதிக்கின்றன.
இந்த வழியில், ஒரு பயன்பாடு சார்புநிலையை அறிவிக்காவிட்டாலும் அல்லது நெட்வொர்க் சிக்கல்கள் இருக்கும்போது கூட, அது இன்னும் தனக்கு என்ன தேவை என்பதை அறிந்திருக்கிறது மற்றும் தேவைக்கேற்ப பதிவிறக்குவதைக் கையாள முடியும்.
பொதுவான சார்புகளை திறம்பட கையாளுதல்
கூடுதலாக, தொகுதி கூட்டமைப்பு சிறந்த சார்பு நிர்வாகத்தை வழங்குகிறது, விற்பனையாளர் மற்றும் மூன்றாம் தரப்பு தேவைகளை திறம்பட தீர்க்கிறது, இதனால் உங்கள் பயன்பாடு ஒரு நூலகத்தின் ஒன்றுக்கு மேற்பட்ட பதிப்புகளை ஏற்றாது.
நுகர்வோரை மீண்டும் வரிசைப்படுத்துவதற்குப் பதிலாக, சுயாதீன குறியீட்டை வரிசைப்படுத்தவும்.
டெவலப்பர் பசுமையான செயல்பாட்டைக் கொண்டிருப்பதில் அதிக ஆர்வம் காட்டுகிறார். வெளிப்படுத்தப்பட்ட சார்பு செயல்பாடு மாறியவுடன், இனி நுகர்வோரை மீண்டும் நிறுவ வேண்டிய அவசியமில்லை.
எதிர்பாராத விளைவுகளைத் தடுக்க கவனமாகப் பரிசோதிக்க வேண்டிய, இது மிகவும் சக்திவாய்ந்த அம்சம் என்பதை நான் ஒப்புக்கொள்ள வேண்டும்.
இயங்கும் போது, பிற உருவாக்கத்திலிருந்து குறியீட்டை இறக்குமதி செய்யவும்.
NPM தொகுப்பு மாதிரியை ஏற்றுக்கொள்ளும் போது, குறியீட்டைப் பகிர்வதற்கும், "நூலகம்" பற்றி யோசிப்பதற்கும் பதிலாக, API களுக்கு ஒத்த மாட்யூல் ஃபெடரேஷன் பயன்படுத்தும் பயன்பாடுகளை நாங்கள் கருத்தில் கொள்ளலாம்.
பிற பயன்பாடுகளிலிருந்து செயல்பாட்டைப் பெறுவது போலவே, வலை பயன்பாடுகள் இப்போது மற்ற பயன்பாடுகளுக்கு செயல்பாட்டை வழங்க முடியும்.
வாடிக்கையாளர் அனுபவத்தைப் பாதுகாக்கும் போது மேம்படுத்தப்பட்ட டெவலப்பர் அனுபவம்
எந்த ஜாவாஸ்கிரிப்ட் டெவலப்பர் மாட்யூல் ஃபெடரேஷன் மிகவும் வசதியாக இருக்கும், ஏனெனில் இது வெப்பேக் பதிப்பு 5 இல் அணுகக்கூடிய வெப்பேக் செருகுநிரலாகும்.
நாம் சற்று சிந்தித்துப் பார்த்தால், இது உண்மையில் வலுவானது மற்றும் புதிரானது.
மூன்றாம் தரப்பு Webpack ஏற்றிகளைப் பயன்படுத்துவதன் மூலம், அனைத்து கூறுகளையும் கருத்தில் கொள்ளுங்கள் webpack ஸ்கிரிப்டுகள், சொத்துக்கள், பாணிகள், படங்கள், மார்க் டவுன்கள் மற்றும் பலவற்றை உள்ளடக்கிய தொகுப்புகள்.
தொகுதி கூட்டமைப்பைப் பயன்படுத்துவதன் மூலம், இவை அனைத்தையும் பகிரலாம் மற்றும் ஒருங்கிணைக்கலாம்.
மைக்ரோ-ஃப்ரன்ட்கள் ஒரு ஒற்றை பாணியில் இயங்குகின்றன.
உங்கள் பயன்பாட்டில் பகிரப்பட்ட செயல்பாட்டைச் சேர்ப்பது மிகவும் எளிதானது; மூட்டையை சாதாரணமாக இறக்குமதி செய்யவும் அல்லது ஒத்திசைவான ஏற்றத்தைப் பயன்படுத்தவும்.
மாற்றாக, சோம்பேறி ஏற்றுதலைப் பயன்படுத்தி தேவைப்படும் போது சார்புகளை ஏற்றுவதற்கு மட்டுமே ஒத்திசைவற்ற ஏற்றுதல் பயன்படுத்தப்படலாம்.
தீர்மானம்
இந்த இடுகையில், உங்கள் மைக்ரோ-ஃப்ரன்டென்ட் பயன்பாட்டை உருவாக்குவதற்கான ஒரு அருமையான தேர்வாக மாட்யூல் ஃபெடரேஷன் பற்றி விவாதித்தோம்.
இயங்கும் நேரத்தில் செயலிகளை பரிமாறிக்கொள்ளவும் பயன்படுத்தவும் அனுமதிப்பது, பல்வேறு குழுக்களை சுயாதீனமான பயன்பாடுகளில் பணிபுரியச் செய்வதன் மூலம் அளவிடுதலை ஊக்குவிக்கிறது.
பொதுவான செயல்பாடு மாறும்போது, உங்கள் வாடிக்கையாளர்களை வடிவமைத்து வரிசைப்படுத்த வேண்டிய அவசியமில்லை, ஏனெனில் அது பசுமையான செயல்பாட்டை ஆதரிக்கிறது.
உங்கள் நிரல் அமைக்கப்பட்ட பிறகு ஒரு ஒற்றைக்கல் போல் செயல்படும், இது அற்புதம்.
ஆப்ஸின் அளவைக் குறைக்க பகிரக்கூடிய சார்புகள் பயன்படுத்தப்படுகின்றன. பல டெவலப்பர்கள் ஏற்கனவே Webpack சூழலை நன்கு அறிந்திருப்பதால், டெவலப்பர் அனுபவம் சிறப்பாக உள்ளது.
ஒரு பதில் விடவும்