Byggeverktøyet Vite har i løpet av forholdsvis kort tid blitt veldig populært, og som vi tidligere har skrevet brukes det i alt fra hobbyprosjekter til populære rammeverk som Nuxt og SvelteKit.
Hvorfor snakker alle om Vite? Her er alt du må vite om Vite!
Blant årsakene til at Vite har blitt så populært, er ikke bare at det er enkelt å bruke – men også at det er lynkjapt.
Nå kan det hende Vite blir enda raskere. I forbindelse med ViteConf annonserte Vite- og Vue-skaper Evan You at de jobber med å skrive om bundleren Rollup i Rust – og lage et produkt de kaller Rolldown.
The cat is out of the bag: we are working on Rolldown, a rust port of Rollup. 🦀
— Evan You (@youyuxi) October 5, 2023
- Focus: performance with best-effort compatibility with Rollup
- Goal: replace esbuild and Rollup in Vite with minimal impact on end users
Vite.js benytter byggeverktøyet/bundleren Rollup "under panseret" når man bygger applikasjonen for produksjon.
Evan You: – Vesentlig raskere
Selv om mange oppfatter Vite som et stort steg i retning av å gjøre byggeprosessene raskere, er det fortsatt stort forbedringspotensiale, sa Evan You i sin presentasjon på ViteConf.
Ifølge Vites egne undersøkelser blant brukerne, er det mange som påpeker at byggehastigheten er relativt treg når man bygger en applikasjon for produksjon.
«Forskjellen i hastighet sammenlignet med native bundlere, som ESBuild eller Bun, er enorm.»
– Det er kanskje det største problemet, fordi vi fortsatt bruker Rollup for produksjons-bygg. Forskjellen i hastighet sammenlignet med native bundlere, som ESBuild eller Bun, er enorm, sa You.
Det er også inkonsistens mellom dev- og prod-miljøer, ettersom man i dev-miljøet bruker en hybridstrategi der kildekoden serves som native ES Modules (ESM), mens avhengighetene bygges på forhånd med ESBuild. I produksjon brukes imidlertid Rollup til å bundle alt sammen.
Ved å skrive hele Rollup fra bunnen av i Rust mener You at både disse og en rekke andre problemer vil kunne løses:
- Vesentlig raskere produksjonsbygg
- Kompatibelt med Rollup
- Mer konsistent på tvers av prod / dev
- Mer robust SSR avhengighets-håndtering
En lang vei å gå
Rolldown er ikke noe utviklere kan forvente å se i Vite med det aller første.
– Det vil selvfølgelig være en masse arbeid! sier You.
Foreløpig er arbeidet på et tidlig stadium, men You håper å kunne legge ut koden som åpen kildekode før utgangen av året.
Rolldown skal kunne brukes både som en del av Vite, men også som et frittstående produkt – og i praksis erstatte Rollup.
På spørsmål om hvorfor Vite ikke heller vurderer Turbopack, som er et Rust-basert alternativ til Webpack fra Vercel, så svarer You:
– Så langt er ikke Turbopack en gang tilgjengelig på utsiden av Next, og det er ikke godt å si hvordan det vil fungere med JS-plugins. Det er også mange interne designvalg som gjør at det vil være veldig vanskelig å få det til å fungere godt i Vite.
Du kan se Evan Yous presentasjon her (videoen inneholder alt fra ViteConf-konferansen, for de som er interessert):