نعم ، يمكن أن يؤدي استخدام ESBuild مع VITE إلى تحسين سرعات التحول بشكل كبير مقارنة باستخدام حزم أخرى مثل WebPack. فيما يلي بعض النقاط الرئيسية:
التبعيات قبل التجميع مع esbuild
يستخدم Vite Esbuild لتبعيات ما قبل الحزمة ، والتي تتراوح ما بين 20 إلى 30x أسرع من استخدام برنامج التحويل البرمجي TypeScript (TSC) مباشرة [3]. تحول هذه الخطوة قبل التجميع وحدات CommonJS/UMD إلى ESM وتحسن وقت بدء Vite البارد مقارنةً بحزم JavaScript [1].
تحويل TypeScript أسرع
يقوم Vite بتزويد Esbuild's Custom TypeScript Parser والذي تم تحسينه للأداء. إنه يتجنب بعض مطبات السرعة في برنامج التحويل البرمجي الرسمي TypeScript ، مثل الاستخدام الكبير لأشكال الكائنات الضخمة والوصول إلى خاصية ديناميكية غير ضرورية [3].
قياسات الأداء التجريبي
تظهر المعايير أن Vite مع Esbuild يمكن أن تكون أسرع بكثير من Webpack لبعض العمليات [2]:
- مبني على `` char start `` start `build": Vite 6s vs Webpack 150s
-
- تغيير بيانات الخادم "الساخنة" إعادة تحميل: Vite 13S vs Webpack 17S
على الرغم من أن مكاسب الأداء الدقيقة تعتمد على المشروع ، فإن الاتجاه العام يعرض سرعات كبيرة من استخدام ESBuild للتحولات في VITE مقارنة بالبدائل مثل WebPack [2].
ومع ذلك ، من المهم أن نلاحظ أن ESBuild لا يؤدي فحص النوع ، لذلك قد تحتاج إلى تشغيل `tsc -noemit` بشكل منفصل لضمان سلامة النوع الكامل [4]. بعض الميزات مثل "const enum" لم تدعمها ESBUILD [4].
باختصار ، يعد الاستفادة من إمكانات التحول السريع لـ Esbuild عاملاً رئيسياً في مزايا أداء Vite على الحزم الأخرى. يمكن أن تكون مكاسب السرعة كبيرة ، خاصة أثناء التنمية ، ولكن هناك بعض المقايضات التي يجب مراعاتها أيضًا.
الاستشهادات:[1] https://vitejs.dev/guide/features
[2] https://dev.to/noriste/migrating-a-150k-loc-codebase-to-vite-and-esbuild-how-bart-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