Ano, použití Esbuildu s Vite může výrazně zlepšit rychlosti transformace ve srovnání s používáním jiných svazků, jako je WebPack. Zde je několik klíčových bodů:
PŘEDMĚNÁNÍ PŘEDPISŮ S ESBUILD
Vite používá Esbuild k předběžným závislým, což je asi 20-30x rychlejší než použití kompilátoru strojopisu (TSC) přímo [3]. Tento krok před námi přeměňuje moduly CommonJS/UMD na ESM a zlepšuje chladný čas Vite ve srovnání s javascript založenými na svazcích [1].
Rychlejší transformace typu
VITE využívá vlastní analyzátor Esbuildu, který je optimalizován pro výkon. Vyhýbá se některým z rychlostních nárazů v oficiálním kompilátoru strojopisu, jako je těžké používání tvarů megamorfních objektů a zbytečné přístupy dynamických vlastností [3].
Empirická měření výkonu
Benchmarky ukazují, že Vite s Esbuild může být pro určité operace mnohem rychlejší než Webpack [2]:
- Počáteční „start příze“ sestavení: Vite 6s vs Webpack 150s
- React Component Hot Reload: Vite 1s vs Webpack 13s
- Změna dat serveru "Hot" Reload: Vite 13s vs Webpack 17s
Zatímco přesné zvýšení výkonu bude záviset na projektu, celkový trend ukazuje významné zrychlení z používání Esbuild pro transformace ve VITE ve srovnání s alternativami, jako je Webpack [2].
Je však důležité si uvědomit, že Esbuild neprovádí kontrolu typu, takže možná budete muset spustit samostatně „TSC - -noemit“, abyste zajistili bezpečnost plného typu [4]. Některé funkce jako „const enum“ ještě nejsou podporovány Esbuildem [4].
Stručně řečeno, využití rychlých transformačních schopností Esbuildu je klíčovým faktorem výhod výkonu VITE oproti jiným svazkům. Zisky rychlosti mohou být značné, zejména během vývoje, ale existují i několik kompromisů, které je třeba zvážit.
Citace:[1] https://vitejs.dev/guide/features
[2] https://dev.to/noriste/migrating-a-150k-loc-codebase-to-vite-and-esbuild-part-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