𝗞𝘂𝗲𝗹𝗲𝘄𝗮 𝗩𝗶𝘁𝗲 𝗸𝘄𝗮 𝗨𝗿𝗮𝗵𝗶𝘀𝗶

Zana za zamani kama Webpack au CRA hufanya kazi kwa kuunganisha (bundling) mradi wako wote kwanza. Zinasoma kila faili na kuzichanganya kuwa faili moja kubwa la JavaScript. Hii hufanya kazi kwa miradi midogo. Inafeli kwa miradi mikubwa yenye maelfu ya moduli. Bundles kubwa huchukua sekunde au dakika kujengwa. Kila unaposave faili, zana hiyo hujenga upya sehemu kubwa za bundle hiyo.

Vite hufanya kazi tofauti. Vivinjari (browsers) vya kisasa vinakubali ES modules kiasili (natively). Vite haunganishi (bundle) kodi yako wakati wa maendeleo (development). Inatoa kila faili kama moduli tofauti pale tu vivinjari vinapoiomba.

Fikiria mgahawa wa buffet. Mpishi anapika kila chakula kabla ya milango kufunguliwa. Ukihitaji mabadiliko madogo moja, mpishi lazima atengeneze upya sehemu kubwa ya buffet hiyo. Unasubiri kwa muda mrefu kupata chakula chako. Hivi ndivyo Webpack inavyofanya kazi.

Sasa fikiria mgahawa wa à la carte. Milango inafunguliwa mara moja. Unaagiza chakula kimoja. Mpishi anaandaa chakula hicho tu. Ukihitaji kitafunwa (dessert) baadaye, mpishi anaandaa kitafunwa tu. Husubiri menu nzima iandaliwe. Hivi ndivyo Vite inavyofanya kazi.

Vite inatumia mbinu mbili tofauti kwa mahitaji mawili tofauti:

Maendeleo (vite dev)

  • Mbinu: Inatoa moduli za native ESM bila kuunganisha (bundling).
  • Kasi: Papo hapo. Haitegemei ukubwa wa mradi.
  • Kwa nini: Maombi ya mtandao wa ndani (local network requests) ni ya haraka.

Uzalishaji (vite build)

  • Mbinu: Inaunganisha (bundles) kila kitu kwa kutumia Rolldown.
  • Kasi: Inategemea ukubwa wa mradi.
  • Kwa nini: Mamia ya faili tofauti huleta maombi mengi sana ya HTTP kwa watumiaji halisi. Kuunganisha (bundling) hufanya tovuti ya mwisho iwe ya haraka zaidi kwao.

Vite inakupa kasi wakati unapoandika kodi na utendaji (performance) bora unapozindua.

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