தமிழ்

வெப்பேக் பண்டில் அனலைசருக்கான ஒரு முழுமையான வழிகாட்டி. இதில் நிறுவுதல், பயன்பாடு, முடிவுகளைப் புரிந்துகொள்ளுதல் மற்றும் உலகளாவிய வலை உருவாக்குநர்களுக்கான மேம்பட்ட உகந்ததாக்குதல் நுட்பங்கள் ஆகியவை அடங்கும்.

வெப்பேக் பண்டில் அனலைசர்: இணைய செயல்திறனை உகந்ததாக்குவதற்கான ஒரு விரிவான வழிகாட்டி

இன்றைய வலை மேம்பாட்டுச் சூழலில், வேகமான மற்றும் திறமையான வலைப் பயன்பாடுகளை வழங்குவது மிக முக்கியம். பயனர்கள் உடனடி முடிவுகளை எதிர்பார்க்கிறார்கள், மேலும் மெதுவான ஏற்றுதல் நேரங்கள் விரக்தி, கைவிடப்பட்ட அமர்வுகள் மற்றும் இறுதியில் வருவாய் இழப்புக்கு வழிவகுக்கும். உகந்த இணைய செயல்திறனை அடைவதில் ஒரு முக்கியமான கருவி வெப்பேக் பண்டில் அனலைசர் (Webpack Bundle Analyzer) ஆகும். இந்த கட்டுரை, உங்கள் திட்டத்தின் அளவு அல்லது சிக்கலைப் பொருட்படுத்தாமல், மெலிதான, வேகமான மற்றும் திறமையான வலைப் பயன்பாடுகளை உருவாக்க, வெப்பேக் பண்டில் அனலைசரின் முடிவுகளைப் புரிந்துகொண்டு, பயன்படுத்தி, விளக்குவதற்கான ஒரு விரிவான வழிகாட்டியை வழங்குகிறது. அடிப்படை நிறுவல் முதல் மேம்பட்ட உகந்ததாக்குதல் உத்திகள் வரை அனைத்தையும் நாங்கள் உள்ளடக்குவோம், இதன் மூலம் நீங்கள் மிகவும் சவாலான செயல்திறன் தடைகளையும் சமாளிக்கத் தயாராக இருப்பீர்கள்.

வெப்பேக் பண்டில் அனலைசர் என்றால் என்ன?

வெப்பேக் பண்டில் அனலைசர் என்பது உங்கள் வெப்பேக் தொகுப்புகளின் (bundles) கலவையைப் புரிந்துகொள்ள உதவும் ஒரு காட்சிப்படுத்தல் கருவியாகும். வெப்பேக், ஒரு பிரபலமான ஜாவாஸ்கிரிப்ட் மாட்யூல் பண்ட்லர், உங்கள் பயன்பாட்டின் குறியீடு மற்றும் சார்புகளை (dependencies) எடுத்து, அவற்றை வரிசைப்படுத்த உகந்த தொகுப்புகளாக மாற்றுகிறது. இருப்பினும், இந்த தொகுப்புகள் பெரும்பாலும் பெரியதாகவும், கையாள முடியாததாகவும் மாறி, மெதுவான ஏற்றுதல் நேரங்களுக்கு வழிவகுக்கும். பண்டில் அனலைசர் இந்த தொகுப்புகளின் அளவு மற்றும் உள்ளடக்கங்களை ஆய்வு செய்ய உங்களை அனுமதிக்கிறது, உகந்ததாக்குதலுக்கான சாத்தியமான பகுதிகளைக் கண்டறிகிறது. இது ஒரு ட்ரீமேப் (treemap) காட்சிப்படுத்தலை அளிக்கிறது, அங்கு ஒவ்வொரு செவ்வகமும் உங்கள் தொகுப்பில் உள்ள ஒரு மாட்யூலைக் குறிக்கிறது, மேலும் செவ்வகத்தின் அளவு மாட்யூலின் அளவிற்கு ஒத்திருக்கிறது. இது தொகுப்பு வீக்கத்திற்கு (bundle bloat) பங்களிக்கும் பெரிய, தேவையற்ற சார்புகள் அல்லது திறமையற்ற குறியீட்டு முறைகளை எளிதில் கண்டறிய உதவுகிறது.

பண்டில் அனலைசரை ஏன் பயன்படுத்த வேண்டும்?

பண்டில் அனலைசரைப் பயன்படுத்துவது வலை உருவாக்குநர்களுக்கு பல நன்மைகளை வழங்குகிறது:

தொடங்குதல்: நிறுவல் மற்றும் அமைப்பு

வெப்பேக் பண்டில் அனலைசர் பொதுவாக உங்கள் வெப்பேக் கட்டமைப்பிற்குள் ஒரு பிளகினாக நிறுவப்படுகிறது. தொடங்குவது எப்படி என்பது இங்கே:

1. npm அல்லது yarn வழியாக நிறுவுதல்

npm அல்லது yarn ஐப் பயன்படுத்தி `webpack-bundle-analyzer` தொகுப்பை ஒரு மேம்பாட்டு சார்பாக (development dependency) நிறுவவும்:

npm install --save-dev webpack-bundle-analyzer
yarn add -D webpack-bundle-analyzer

2. வெப்பேக்கை கட்டமைத்தல்

உங்கள் `webpack.config.js` கோப்பில் `BundleAnalyzerPlugin`-ஐச் சேர்க்கவும். நீங்கள் பிளகினை require செய்ய வேண்டும், பின்னர் அதை `plugins` வரிசையில் சேர்க்க வேண்டும்.

// webpack.config.js
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

module.exports = {
  // ... மற்ற வெப்பேக் கட்டமைப்பு
  plugins: [
    new BundleAnalyzerPlugin({
      analyzerMode: 'static', // விருப்பங்கள்: "server", "static", "json"
      reportFilename: 'report.html', // வெளியீட்டு கோப்பகத்துடன் தொடர்புடைய தொகுப்பு அறிக்கை கோப்பின் பாதை.
      openAnalyzer: false, // இயல்புநிலை உலாவியில் தானாகவே அறிக்கையைத் திறக்கும்
    }),
  ],
};

கட்டமைப்பு விருப்பங்களின் விளக்கம்:

3. வெப்பேக்கை இயக்குதல்

வழக்கம் போல் உங்கள் வெப்பேக் பில்ட் செயல்முறையை இயக்கவும். `analyzerMode` 'server' ஆக அமைக்கப்பட்டால், அனலைசர் உங்கள் உலாவியில் தானாகவே திறக்கும். அது 'static' ஆக அமைக்கப்பட்டால், `report.html` கோப்பு உங்கள் வெளியீட்டு கோப்பகத்தில் (பொதுவாக `dist`) உருவாக்கப்படும்.

பண்டில் அனலைசர் அறிக்கையை விளக்குதல்

பண்டில் அனலைசர் அறிக்கை உங்கள் தொகுப்பின் உள்ளடக்கங்களை ஒரு ட்ரீமேப்பைப் பயன்படுத்தி ஒரு காட்சிப் பிரதிநிதித்துவத்தை வழங்குகிறது. முக்கிய கூறுகளை எவ்வாறு விளக்குவது என்பது இங்கே:

ட்ரீமேப் காட்சிப்படுத்தல்

ட்ரீமேப் என்பது அறிக்கையின் முதன்மை காட்சி உறுப்பு ஆகும். ஒவ்வொரு செவ்வகமும் உங்கள் தொகுப்பில் ஒரு மாட்யூல் அல்லது ஒரு துண்டைக் குறிக்கிறது. செவ்வகத்தின் அளவு மாட்யூலின் அளவிற்கு ஒத்திருக்கிறது. பெரிய செவ்வகங்கள் தொகுப்பு வீக்கத்திற்கு பங்களிக்கக்கூடிய பெரிய மாட்யூல்களைக் குறிக்கின்றன.

வண்ணக் குறியீடுகள்

அறிக்கை பொதுவாக வெவ்வேறு வகையான மாட்யூல்கள் அல்லது சார்புகளை வேறுபடுத்துவதற்கு வண்ணக் குறியீட்டைப் பயன்படுத்துகிறது. குறிப்பிட்ட வண்ணத் திட்டம் கட்டமைப்பைப் பொறுத்து மாறுபடலாம் என்றாலும், பொதுவான மரபுகளில் பின்வருவன அடங்கும்:

மாட்யூல் தகவல்

ட்ரீமேப்பில் ஒரு செவ்வகத்தின் மீது சுட்டியை வைப்பது, அதனுடன் தொடர்புடைய மாட்யூல் பற்றிய விரிவான தகவல்களை வெளிப்படுத்துகிறது, அவற்றுள்:

அறிக்கையை பகுப்பாய்வு செய்தல்: உகந்ததாக்குதல் வாய்ப்புகளை அடையாளம் காணுதல்

பண்டில் அனலைசரை திறம்பட பயன்படுத்துவதற்கான திறவுகோல், செயல்பாட்டை தியாகம் செய்யாமல் தொகுப்பு அளவைக் குறைக்கக்கூடிய பகுதிகளை அடையாளம் காண்பது. இங்கே சில பொதுவான காட்சிகள் மற்றும் உகந்ததாக்குதல் உத்திகள் உள்ளன:

1. பெரிய சார்புகள்

தொகுப்பு அளவிற்கு கணிசமாக பங்களிக்கும் பெரிய மூன்றாம் தரப்பு சார்புகளை நீங்கள் கண்டறிந்தால், பின்வருவனவற்றைக் கவனியுங்கள்:

உதாரணம்: தேதிகளை வடிவமைக்க நீங்கள் முழு Moment.js நூலகத்தையும் பயன்படுத்துவதை நீங்கள் கண்டறியலாம். அதை `date-fns` அல்லது நேட்டிவ் ஜாவாஸ்கிரிப்ட் தேதி வடிவமைப்பு செயல்பாடுகளுடன் மாற்றுவது உங்கள் தொகுப்பு அளவை கணிசமாகக் குறைக்கும்.

2. நகல் மாட்யூல்கள்

பண்டில் அனலைசர் உங்கள் தொகுப்பிற்குள் நகல் மாட்யூல்களின் நிகழ்வுகளை முன்னிலைப்படுத்த முடியும். உங்கள் பயன்பாட்டின் வெவ்வேறு பகுதிகள் ஒரே நூலகத்தின் வெவ்வேறு பதிப்புகளைச் சார்ந்திருக்கும்போது இது அடிக்கடி நிகழ்கிறது.

உதாரணம்: இரண்டு வெவ்வேறு தொகுப்புகள் ரியாக்ட்டின் சற்று மாறுபட்ட பதிப்புகளைப் பயன்படுத்துவதை நீங்கள் காணலாம், இது இரண்டு பதிப்புகளும் உங்கள் தொகுப்பில் சேர்க்கப்படுவதற்கு வழிவகுக்கிறது. `resolve.alias` ஐப் பயன்படுத்துவது அனைத்து மாட்யூல்களும் ஒரே ரியாக்ட் பதிப்பைப் பயன்படுத்துவதை உறுதிசெய்யும்.

3. பயன்படுத்தப்படாத குறியீடு (டெட் கோட்)

டெட் கோட் என்பது உங்கள் பயன்பாட்டில் ஒருபோதும் செயல்படுத்தப்படாத குறியீடு ஆகும். அம்சங்கள் அகற்றப்படும்போது அல்லது ரீஃபாக்டர் செய்யப்படும்போது இது காலப்போக்கில் குவிந்துவிடும். வெப்பேக் பெரும்பாலும் ட்ரீ ஷேக்கிங் எனப்படும் ஒரு செயல்முறையின் மூலம் டெட் கோட்டை அகற்ற முடியும், ஆனால் உங்கள் குறியீடு ட்ரீ ஷேக்கிங் திறம்பட செயல்பட அனுமதிக்கும் வகையில் எழுதப்பட்டிருப்பதை உறுதி செய்வது முக்கியம்.

உதாரணம்: உங்கள் பயன்பாட்டின் முந்தைய பதிப்பில் பயன்படுத்தப்பட்ட ஒரு கூறு உங்களிடம் இருக்கலாம், ஆனால் அது இப்போது பயன்படுத்தப்படவில்லை. வெப்பேக் இந்த கூறுகளை உங்கள் தொகுப்பிலிருந்து அகற்ற முடியும், அது ஒரு ES மாட்யூலாக எழுதப்பட்டிருந்தால் மற்றும் எந்த பக்க விளைவுகளையும் கொண்டிருக்கவில்லை என்றால்.

4. கோட் ஸ்பிளிட்டிங்

கோட் ஸ்பிளிட்டிங் என்பது உங்கள் பயன்பாட்டின் குறியீட்டை தேவைக்கேற்ப ஏற்றக்கூடிய சிறிய துண்டுகளாகப் பிரிக்கும் நடைமுறையாகும். இது ஆரம்ப ஏற்றுதல் நேரங்களை கணிசமாக மேம்படுத்த முடியும், குறிப்பாக பெரிய SPAs-க்கு. வெப்பேக் கோட் ஸ்பிளிட்டிங்கிற்கான பல வழிமுறைகளை வழங்குகிறது:

உதாரணம்: உங்கள் பயன்பாட்டை முக்கிய பயன்பாட்டுக் குறியீடு, வெண்டார் நூலகங்கள் மற்றும் அரிதாகப் பயன்படுத்தப்படும் அம்சங்களுக்கான குறியீடு என தனித்தனி தொகுப்புகளாகப் பிரிக்கலாம். அரிதாகப் பயன்படுத்தப்படும் அம்சங்கள் தேவைப்படும்போது `import()` ஐப் பயன்படுத்தி மாறும் வகையில் ஏற்றப்படலாம்.

5. சொத்து உகந்ததாக்குதல்

படங்கள் மற்றும் எழுத்துருக்கள் போன்ற உங்கள் சொத்துக்களை உகந்ததாக்குவது இணைய செயல்திறனை கணிசமாக மேம்படுத்தும். பின்வருவனவற்றைக் கவனியுங்கள்:

உதாரணம்: படங்கள் பார்வைக்குள் உருளும்போது மட்டுமே அவற்றை ஏற்ற லேசி லோடிங்கைப் பயன்படுத்தலாம், மேலும் அவற்றின் கோப்பு அளவைக் குறைக்க உங்கள் படங்களை WebP வடிவத்திற்கு மாற்றலாம்.

மேம்பட்ட நுட்பங்கள் மற்றும் சிறந்த நடைமுறைகள்

அடிப்படைகளுக்கு அப்பால், உங்கள் வலை செயல்திறனை மேலும் மேம்படுத்தக்கூடிய பல மேம்பட்ட நுட்பங்கள் மற்றும் சிறந்த நடைமுறைகள் உள்ளன:

1. உற்பத்தி பில்டுகளை பகுப்பாய்வு செய்தல்

உங்கள் மேம்பாட்டு பில்டுகளை மட்டுமல்ல, உங்கள் உற்பத்தி பில்டுகளையும் பகுப்பாய்வு செய்வது முக்கியம். உற்பத்தி பில்டுகள் பொதுவாக மினிஃபிகேஷன் மற்றும் பிற உகந்ததாக்குதல்களைக் கொண்டிருக்கும், இது தொகுப்பு அளவு மற்றும் செயல்திறனை கணிசமாக பாதிக்கும்.

2. தொடர்ச்சியான ஒருங்கிணைப்பு (CI) ஒருங்கிணைப்பு

செயல்திறன் பின்னடைவுகளை தானாகவே கண்டறிய உங்கள் CI/CD பைப்லைனில் பண்டில் அனலைசரை ஒருங்கிணைக்கவும். தொகுப்பு அளவு ஒரு குறிப்பிட்ட வரம்பை மீறினால் பில்டைத் தோல்வியடையச் செய்ய அனலைசரைக் கட்டமைக்கலாம்.

3. காலப்போக்கில் தொகுப்பு அளவைக் கண்காணித்தல்

போக்குகள் மற்றும் சாத்தியமான செயல்திறன் பின்னடைவுகளை அடையாளம் காண காலப்போக்கில் உங்கள் தொகுப்பு அளவைக் கண்காணிக்கவும். இது உங்கள் பயனர்களைப் பாதிக்கும் முன் செயல்திறன் சிக்கல்களை முன்கூட்டியே தீர்க்க உதவும்.

4. சோர்ஸ் மேப்களைப் பயன்படுத்துதல்

சோர்ஸ் மேப்கள் உங்கள் மினிஃபைடு உற்பத்தி குறியீட்டை உங்கள் அசல் மூலக் குறியீட்டிற்கு மீண்டும் மேப் செய்ய அனுமதிக்கின்றன, இது உற்பத்தியில் செயல்திறன் சிக்கல்களைப் பிழைதிருத்துவதை எளிதாக்குகிறது.

5. Chrome DevTools உடன் செயல்திறனை சுயவிவரப்படுத்துதல்

உங்கள் பயன்பாட்டின் செயல்திறனை சுயவிவரப்படுத்தவும் மற்றும் தடைகளைக் கண்டறியவும் Chrome DevTools ஐப் பயன்படுத்தவும். DevTools இல் உள்ள செயல்திறன் தாவல் CPU பயன்பாடு, நினைவக ஒதுக்கீடு மற்றும் ரெண்டரிங் செயல்திறன் பற்றிய விரிவான தகவல்களை வழங்குகிறது.

வெப்பேக் 5 மற்றும் மாட்யூல் ஃபெடரேஷன்

வெப்பேக் 5, மாட்யூல் ஃபெடரேஷன் எனப்படும் ஒரு சக்திவாய்ந்த அம்சத்தை அறிமுகப்படுத்துகிறது, இது வெவ்வேறு வெப்பேக் பில்டுகளுக்கு இடையில் குறியீட்டைப் பகிர உங்களை அனுமதிக்கிறது. இது மைக்ரோஃப்ரண்ட்எண்ட் கட்டமைப்புகளுக்கு குறிப்பாக பயனுள்ளதாக இருக்கும், அங்கு நீங்கள் வெவ்வேறு பயன்பாடுகளுக்கு இடையில் பொதுவான கூறுகள் மற்றும் சார்புகளைப் பகிர விரும்புகிறீர்கள். மாட்யூல் ஃபெடரேஷன் பல பயன்பாடுகளில் நகல் குறியீட்டை அகற்றுவதன் மூலம் தொகுப்பு அளவைக் கணிசமாகக் குறைத்து செயல்திறனை மேம்படுத்தும்.

கேஸ் ஸ்டடீஸ் மற்றும் நிஜ உலக உதாரணங்கள்

இணைய செயல்திறனை மேம்படுத்த வெப்பேக் பண்டில் அனலைசரை எவ்வாறு பயன்படுத்தலாம் என்பதற்கான சில நிஜ உலக உதாரணங்களைப் பார்ப்போம்:

கேஸ் ஸ்டடி 1: ஒரு பெரிய SPA-வின் ஆரம்ப ஏற்றுதல் நேரத்தைக் குறைத்தல்

ஒரு பெரிய இ-காமர்ஸ் SPA மெதுவான ஆரம்ப ஏற்றுதல் நேரங்களை அனுபவித்து வந்தது, இது அதிக பவுன்ஸ் விகிதத்திற்கு வழிவகுத்தது. வெப்பேக் பண்டில் அனலைசரைப் பயன்படுத்தி, மேம்பாட்டுக் குழு வீக்கத்திற்கு பங்களித்த பல பெரிய சார்புகளை அடையாளம் கண்டது, இதில் ஒரு சார்ட்டிங் நூலகம் மற்றும் ஒரு பெரிய பட நூலகம் ஆகியவை அடங்கும். சார்ட்டிங் நூலகத்தை ஒரு இலகுவான மாற்றுடன் மாற்றுவதன் மூலமும் படங்களை உகந்ததாக்குவதன் மூலமும், அவர்கள் ஆரம்ப ஏற்றுதல் நேரத்தை 30% குறைக்க முடிந்தது, இது மாற்று விகிதங்களில் குறிப்பிடத்தக்க அதிகரிப்புக்கு வழிவகுத்தது.

கேஸ் ஸ்டடி 2: ஒரு உலகளாவிய செய்தி வலைத்தளத்தை உகந்ததாக்குதல்

ஒரு உலகளாவிய செய்தி வலைத்தளம் மெதுவான இணைய இணைப்புகள் உள்ள பகுதிகளில் செயல்திறன் சிக்கல்களை அனுபவித்து வந்தது. பண்டில் அனலைசர் வலைத்தளம் அதிக எண்ணிக்கையிலான பயன்படுத்தப்படாத எழுத்துருக்களை ஏற்றுவதை வெளிப்படுத்தியது. எழுத்துரு துணைக்குழுக்களைப் பயன்படுத்துவதன் மூலமும் ஒவ்வொரு பக்கத்திலும் உண்மையில் பயன்படுத்தப்பட்ட எழுத்துருக்களை மட்டும் ஏற்றுவதன் மூலமும், அவர்கள் தொகுப்பு அளவைக் கணிசமாகக் குறைத்து குறைந்த அலைவரிசை பகுதிகளில் உள்ள பயனர்களுக்கு செயல்திறனை மேம்படுத்த முடிந்தது.

உதாரணம்: ஒரு ரியாக்ட் பயன்பாட்டில் ஒரு பெரிய சார்பை நிவர்த்தி செய்தல்

நீங்கள் ஒரு ரியாக்ட் பயன்பாட்டை உருவாக்குகிறீர்கள் என்று கற்பனை செய்து பாருங்கள், `moment.js` உங்கள் தொகுப்பின் ஒரு குறிப்பிடத்தக்க பகுதியை எடுத்துக் கொள்கிறது. நீங்கள் `date-fns` ஐப் பயன்படுத்தலாம், இது ஒத்த செயல்பாடுகளை வழங்குகிறது ஆனால் கணிசமாக சிறியது. செயல்முறை பின்வருமாறு:

  1. `date-fns` ஐ நிறுவுதல்: `npm install date-fns` அல்லது `yarn add date-fns`
  2. `moment.js` இறக்குமதிகளை `date-fns` க்கு சமமானவற்றுடன் மாற்றுதல். உதாரணமாக, `moment().format('YYYY-MM-DD')` என்பது `format(new Date(), 'yyyy-MM-dd')` ஆக மாறும்
  3. உங்கள் வெப்பேக் பில்டை இயக்கி, அளவு குறைப்பை உறுதிப்படுத்த மீண்டும் தொகுப்பை பகுப்பாய்வு செய்தல்.

முடிவுரை: நீண்ட கால வெற்றிக்கு தொடர்ச்சியான உகந்ததாக்குதல்

வெப்பேக் பண்டில் அனலைசர் தங்கள் பயன்பாட்டின் செயல்திறனை உகந்ததாக்க விரும்பும் எந்தவொரு வலை உருவாக்குநருக்கும் ஒரு விலைமதிப்பற்ற கருவியாகும். அனலைசரை எவ்வாறு பயன்படுத்துவது மற்றும் அதன் முடிவுகளை விளக்குவது என்பதைப் புரிந்துகொள்வதன் மூலம், நீங்கள் செயல்திறன் தடைகளை அடையாளம் கண்டு தீர்க்கலாம், தொகுப்பு அளவைக் குறைக்கலாம், மேலும் வேகமான மற்றும் திறமையான பயனர் அனுபவத்தை வழங்கலாம். உகந்ததாக்குதல் என்பது ஒரு தொடர்ச்சியான செயல்முறை என்பதை நினைவில் கொள்ளுங்கள், ஒரு முறை சரிசெய்தல் அல்ல. உங்கள் பயன்பாடு உருவாகும்போது உங்கள் தொகுப்புகளை தவறாமல் பகுப்பாய்வு செய்து உங்கள் உகந்ததாக்குதல் உத்திகளை மாற்றியமைத்து நீண்ட கால வெற்றியை உறுதி செய்யுங்கள். செயல்திறன் சிக்கல்களை முன்கூட்டியே நிவர்த்தி செய்வதன் மூலம், உங்கள் பயனர்களை மகிழ்ச்சியாக வைத்திருக்கலாம், உங்கள் தேடுபொறி தரவரிசைகளை மேம்படுத்தலாம், மேலும் இறுதியில் உங்கள் வணிக இலக்குகளை அடையலாம்.

வெப்பேக் பண்டில் அனலைசரின் சக்தியைத் தழுவி, செயல்திறனை உங்கள் மேம்பாட்டு பணிப்பாய்வின் ஒரு முக்கிய பகுதியாக ஆக்குங்கள். உகந்ததாக்குதலில் நீங்கள் முதலீடு செய்யும் முயற்சி, வேகமான, திறமையான மற்றும் ஈர்க்கக்கூடிய வலைப் பயன்பாட்டின் வடிவத்தில் பலனளிக்கும்.