Vite-ஐ எளிமையாக்குதல்
Webpack அல்லது Create React App போன்ற பழைய கருவிகள் முதலில் உங்கள் முழுத் திட்டத்தையும் (project) ஒன்றாக இணைப்பதன் (bundling) மூலம் செயல்படுகின்றன. இந்தக் கருவி ஒவ்வொரு கோப்பையும் படித்து அவற்றை ஒரே பெரிய JavaScript கோப்பாக மாற்றுகிறது. இது சிறிய திட்டங்களுக்குச் சரியாக இருக்கும். ஆனால் பெரிய திட்டங்களுக்கு இது தோல்வியடையும். பெரிய திட்டங்களில், இந்தச் செயல்முறைக்கு பல வினாடிகள் ஆகும். நீங்கள் ஒவ்வொரு முறை ஒரு கோப்பைச் சேமிக்கும் போதும், இந்தக் கருவி அந்த வேலையை மீண்டும் செய்ய வேண்டியிருக்கும்.
Vite வித்தியாசமாகச் செயல்படுகிறது. நவீன உலாவிகள் (browsers) ES modules-ஐ இயல்பாகவே (natively) ஆதரிக்கின்றன. அதாவது, உலாவியே imports மற்றும் exports-களைக் கையாள முடியும் என்று அர்த்தம். Vite மேம்பாட்டு நிலையில் (development) உங்கள் குறியீட்டை (code) ஒன்றாக இணைப்பதில்லை. உலாவியானது கோப்பைக் கேட்கும்போது மட்டுமே, அது ஒவ்வொரு கோப்பையும் ஒரு தனித் தொகுதியாக (separate module) வழங்குகிறது.
ஒரு பஃபே (buffet) உணவகத்தை நினைத்துப் பாருங்கள். உணவகத்தின் கதவுகளைத் திறப்பதற்கு முன்பே சமையல்காரர் ஒவ்வொரு உணவையும் சமைத்துவிடுவார். நீங்கள் ஒரு சிறிய மாற்றத்தை விரும்பினால், சமையல்காரர் முழு பஃபே உணவையும் மீண்டும் செய்ய வேண்டியிருக்கும். Webpack இப்படித்தான் செயல்படுகிறது. திட்டம் எவ்வளவு பெரியதாக இருக்கிறதோ, அவ்வளவு நேரம் நீங்கள் காத்திருக்க வேண்டியிருக்கும்.
Vite ஒரு à la carte உணவகத்தைப் போன்றது. கதவுகள் உடனடியாகத் திறக்கப்படும். நீங்கள் ஒரு உணவை ஆர்டர் செய்கிறீர்கள். சமையல்காரர் அந்த உணவை மட்டும் தயாரிக்கிறார். உங்களுக்குப் பிறகு இனிப்பு (dessert) வேண்டுமென்றால், சமையல்காரர் இனிப்பை மட்டும் தயாரிக்கிறார். முழு மெனுவும் தயாராகக் காத்திருக்க வேண்டிய அவசியம் இல்லை.
Vite இரண்டு வெவ்வேறு தேவைகளுக்காக இரண்டு வெவ்வேறு உத்திகளைப் பயன்படுத்துகிறது:
மேம்பாடு (vite dev) • உத்தி: Bundling செய்யாமல் இயல்பான ESM தொகுதிகளை வழங்குகிறது. • தொடக்க வேகம்: உடனடி. இது திட்டத்தின் அளவைப் பொறுத்தது அல்ல. • ஏன்: உங்கள் கணினியில் உள்ளூர் HTTP கோரிக்கைகள் (requests) வேகமாக இருக்கும்.
உற்பத்தி (vite build) • உத்தி: Rolldown மூலம் அனைத்தையும் ஒன்றாக இணைக்கிறது (bundles). • தொடக்க வேகம்: திட்டத்தின் அளவோடு நேரமும் அதிகரிக்கும். • ஏன்: நூற்றுக்கணக்கான தனித்தனி கோப்புகள் பயனர்களுக்கு அதிகப்படியான HTTP கோரிக்கைகளை ஏற்படுத்தும். Bundling இதைச் சரிசெய்கிறது.
நீங்கள் குறியீடு எழுதும் போது Vite வேகத்தையும், நீங்கள் வெளியிடும் போது (launch) செயல்திறனையும் வழங்குகிறது.
ஆதாரம்: https://dev.to/yuripeixinho/descomplicando-o-vite-1p62