Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Peut utiliser Esbuild avec Vite améliorer les vitesses de transformation


Peut utiliser Esbuild avec Vite améliorer les vitesses de transformation


Oui, l'utilisation d'Esbuild avec Vite peut considérablement améliorer les vitesses de transformation par rapport à l'utilisation d'autres bundlers comme WebPack. Voici quelques points clés:

Dépend des pré-colonies avec Esbuild

Vite utilise Esbuild pour pré-courir les dépendances, qui est environ 20-30x plus rapidement que d'utiliser directement le compilateur TypeScript (TSC) [3]. Cette étape de pré-collaboration convertit les modules CommonJS / UMD en ESM et améliore l'heure de début froide de Vite par rapport aux bundlers basés sur JavaScript [1].

Transformation dactylographiée plus rapide

VITE exploite l'analyseur de type tactyphone d'Esbuild qui est optimisé pour les performances. Il évite certaines des ralentissements dans le compilateur officiel de typeScript, comme une utilisation intensive des formes d'objets mégamorphiques et des accès dynamiques inutiles [3].

mesures de performance empiriques

Les repères montrent que Vite avec Esbuild peut être beaucoup plus rapide que WebPack pour certaines opérations [2]:

- Bâtiment initial de «Yarn Start»: Vite 6S vs WebPack 150S
- React Composant Reload: Vite 1s vs Webpack 13s
- Reload des données du serveur "Hot": VITE 13S vs WebPack 17S

Bien que les gains de performances exacts dépendent du projet, la tendance globale montre des accélération importantes de l'utilisation d'Esbuild pour les transformations en Vite par rapport à des alternatives comme WebPack [2].

Cependant, il est important de noter que Esbuild n'effectue pas de vérification de type, vous devrez donc peut-être exécuter `TSC --NoEmit` séparément pour assurer la sécurité de type complet [4]. Certaines fonctionnalités comme «const enum» ne sont pas encore prises en charge par Esbuild [4].

En résumé, tirer parti des capacités de transformation rapide d'Esbuild est un facteur clé des avantages de performance de Vite par rapport aux autres bundlers. Les gains de vitesse peuvent être substantiels, surtout pendant le développement, mais il y a également certains compromis à considérer.

Citations:
[1] https://vitejs.dev/guide/features
[2] https://dev.to/noste/migrant-a-150k-loc-codebase-to-vite-and-esbuild-how-plat-2-3-1c08
[3] https://esbuild.github.io/faq/
[4] https://github.com/vitejs/vite/issues/1585
[5] https://github.com/vitejs/vite/issues/3193