Vite ని సులభతరం చేయడం

Webpack లేదా CRA వంటి పాత టూల్స్ మొదట మీ ప్రాజెక్ట్‌ మొత్తాన్ని బండిల్ (bundle) చేయడం ద్వారా పనిచేస్తాయి. అవి ప్రతి ఫైల్‌ను చదివి, వాటన్నింటినీ కలిపి ఒక పెద్ద JavaScript ఫైల్‌గా మారుస్తాయి. ఇది చిన్న ప్రాజెక్ట్‌లకు బాగా పనిచేస్తుంది. కానీ వేల సంఖ్యలో మాడ్యూల్స్ ఉన్న పెద్ద ప్రాజెక్ట్‌ల విషయంలో ఇది విఫలమవుతుంది. పెద్ద బండిల్స్‌ను నిర్మించడానికి సెకన్లు లేదా నిమిషాలు పడుతుంది. మీరు ప్రతిసారి ఒక ఫైల్‌ను సేవ్ చేసినప్పుడు, ఆ టూల్ బండిల్‌లోని పెద్ద భాగాన్ని మళ్లీ నిర్మిస్తుంది.

Vite భిన్నంగా పనిచేస్తుంది. ఆధునిక బ్రౌజర్‌లు ES modules ను నేటివ్‌గా (natively) సపోర్ట్ చేస్తాయి. Vite డెవలప్‌మెంట్ సమయంలో మీ కోడ్‌ను బండిల్ చేయదు. బ్రౌజర్ అడిగినప్పుడు మాత్రమే అది ప్రతి ఫైల్‌ను ఒక విడి మాడ్యూల్‌గా అందిస్తుంది.

ఒక బఫే (buffet) రెస్టారెంట్‌ను ఊహించుకోండి. రెస్టారెంట్ తలుపులు తెరవకముందే షెఫ్ ప్రతి వంటకాన్ని సిద్ధం చేస్తారు. మీరు ఏదైనా చిన్న మార్పు కోరుకుంటే, షెఫ్ బఫేలోని చాలా వంటకాలను మళ్లీ చేయాల్సి ఉంటుంది. మీరు మీ ఆహారం కోసం చాలా సేపు వేచి చూడాల్సి వస్తుంది. Webpack ఇలాగే పనిచేస్తుంది.

ఇప్పుడు ఒక à la carte రెస్టారెంట్‌ను ఊహించుకోండి. తలుపులు తెరుచుకోగానే మీరు వెంటనే ఆర్డర్ చేయవచ్చు. మీరు ఒక వంటకాన్ని ఆర్డర్ చేస్తే, షెఫ్ కేవలం ఆ వంటకాన్ని మాత్రమే సిద్ధం చేస్తారు. మీకు తర్వాత డెజర్ట్ కావాలంటే, షెఫ్ కేవలం డెజర్ట్‌ను మాత్రమే తయారు చేస్తారు. మొత్తం మెనూ సిద్ధం అయ్యే వరకు మీరు వేచి ఉండాల్సిన అవసరం లేదు. Vite ఇలాగే పనిచేస్తుంది.

Vite రెండు వేర్వేరు అవసరాల కోసం రెండు వేర్వేరు వ్యూహాలను ఉపయోగిస్తుంది:

Development (vite dev)

  • వ్యూహం: బండిల్ చేయకుండా నేటివ్ ESM మాడ్యూల్స్‌ను అందిస్తుంది.
  • వేగం: తక్షణమే. ఇది ప్రాజెక్ట్ పరిమాణంపై ఆధారపడి ఉండదు.
  • ఎందుకు: లోకల్ నెట్‌వర్క్ రిక్వెస్ట్‌లు వేగంగా ఉంటాయి.

Production (vite build)

  • వ్యూహం: Rolldown ఉపయోగించి అన్నింటినీ బండిల్ చేస్తుంది.
  • వేగం: ప్రాజెక్ట్ పరిమాణంపై ఆధారపడి ఉంటుంది.
  • ఎందుకు: వందలాది విడి ఫైళ్లు నిజమైన వినియోగదారులకు చాలా ఎక్కువ HTTP రిక్వెస్ట్‌లను సృష్టిస్తాయి. బండిల్ చేయడం వల్ల వారికి ఫైనల్ సైట్ వేగంగా అందుతుంది.

మీరు కోడ్ రాస్తున్నప్పుడు Vite మీకు వేగాన్ని, మీరు లాంచ్ చేసినప్పుడు పనితీరును (performance) అందిస్తుంది.

Source: https://dev.to/yuripeixinho/descomplicando-o-vite-1p62