Ja, at bruge essbuild med Vite kan forbedre transformationshastighederne markant sammenlignet med at bruge andre bundlere som webpack. Her er et par nøglepunkter:
Forudbundne afhængigheder med esbuild
Vite bruger Esbuild til at forbundne afhængigheder, som er ca. 20-30x hurtigere end at bruge TypeScript Compiler (TSC) direkte [3]. Dette pre-bundlingstrin konverterer CommonJS/UMD-moduler til ESM og forbedrer Vites kolde starttid sammenlignet med JavaScript-baserede bundlere [1].
Hurtigere TypeScript -transformation
Vite udnytter Esbuilds brugerdefinerede TypeScript -parser, der er optimeret til ydeevne. Det undgår nogle af hastighedsstødet i den officielle TypeScript -kompilator, som tung brug af megamorfe objektformer og unødvendige dynamiske egenskabsadgang [3].
Empiriske præstationsmålinger
Benchmarks viser, at Vite med Esbuild kan være meget hurtigere end Webpack til visse operationer [2]:
- Indledende `Yarn Start` Build: Vite 6s vs Webpack 150s
- React Component Hot Reload: Vite 1s vs Webpack 13s
- Serverdataændring "Hot" Reload: Vite 13s vs Webpack 17s
Mens de nøjagtige præstationsgevinster afhænger af projektet, viser den samlede tendens betydelige speedups fra at bruge Esbuild til transformationer i Vite sammenlignet med alternativer som Webpack [2].
Det er dog vigtigt at bemærke, at Esbuild ikke udfører type -kontrol, så du skal muligvis køre `TSC -Noemit` separat for at sikre fuld type sikkerhed [4]. Nogle funktioner som `const enum` støttes heller ikke endnu af Esbuild [4].
Sammenfattende er det at udnytte Esbuilds hurtige transformationsfunktioner en nøglefaktor i Vites præstationsfordele i forhold til andre bundlere. Hastighedsgevinsterne kan være betydelige, især under udvikling, men der er også nogle afvejninger at overveje.
Citater:[1] https://vitejs.dev/guide/features
)
[3] https://esbuild.github.io/faq/
[4] https://github.com/vitejs/vite/issues/1585
[5] https://github.com/vitejs/vite/issues/3193