Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon يمكن استخدام esbuild مع Vite تحسين سرعات التحول


يمكن استخدام esbuild مع Vite تحسين سرعات التحول


نعم ، يمكن أن يؤدي استخدام 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