Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Vite Optimizedeps


Vite Optimizedeps


تعتبر ميزة تحسين التبعية في Vite أمرًا بالغ الأهمية لتعزيز أداء التطبيقات من خلال التبعيات المسبقة. فيما يلي نظرة عامة على الخيارات الرئيسية المتوفرة تحت `Optimizedeps` في Vite:

خيارات المفاتيح لتحسين التبعية

###.
يتيح لك هذا الخيار تحديد نقاط الدخول المخصصة للتصنيف قبل التجمع. بشكل افتراضي ، يقوم Vite Scans بمسح `.html` لاكتشاف التبعيات ، ولكن يمكنك توفير إدخالاتك الخاصة باستخدام نمط سريع أو مجموعة من الأنماط. هذا يتجاوز الاستدلال الافتراضي ، والذي يتجاهل فقط `node_modules` و` build.outdir` افتراضيًا [1] [2].

2. Optimizedeps.include **

يمكنك استخدام هذا الخيار لفرض إدراج تبعيات محددة لم يتم اكتشافها تلقائيًا. هذا مفيد بشكل خاص للحزم المرتبطة وليس داخل `node_modules` ، مما يضمن أن يتم تجميعها مسبقًا [1] [3].

3. Optimizedeps.exclude **

يتيح لك هذا الخيار استبعاد بعض التبعيات من التجمع قبل التجمع. من المهم أن نلاحظ أن استبعاد تبعيات CommonJS لا ينصح عمومًا ، حيث قد يكون لها تبعيات متداخلة تحتاج إلى إدراجها [1] [2].

4. Optimizedeps.disabled **

يمكن لهذا الخيار الذي تم إهماله تعطيل المحسن أثناء التطوير أو وقت البناء. لتعطيل اكتشاف التبعية التلقائي تمامًا ، يمكنك تعيين "extryps.nodiscovery" إلى "صحيح" مع ترك `Optimized.include` غير محدد [1] [2].

###.
هذا الخيار التجريبي يجبر ESM interop لتبعيات محددة. يمكن أن يساعد في تجنب عمليات إعادة تحميل الصفحة الكاملة من خلال ضمان تجميع التبعيات بشكل صحيح [1] [3].

6. Optimizedeps.esbuildoptions **

يمكنك تخصيص سلوك ESBuild المستخدم أثناء المسح الضوئي والتحسين. يتضمن ذلك تمرير خيارات محددة لتحسين عملية الإنشاء بشكل أكبر [2] [3].

التخزين المؤقت والأداء

Caches Caches التبعيات المسبقة مسبقًا في `node_modules/.vite` ، مما يساعد في تقليل الحاجة إلى إعادة تشغيل خطوة ما قبل الترجمة ما لم تتغير بعض الشروط ، مثل التحديثات إلى Manager Manager Lockfile أو التعديلات في تكوين المشروع [3].

من خلال استخدام هذه الخيارات بشكل فعال ، يمكن للمطورين تحسين أداء تطبيقاتهم VITE بشكل كبير ، مما يضمن إدارة التبعيات بكفاءة وبشكل مثالي أثناء عملية التطوير.

الاستشهادات:
[1] https://vitejs.dev/config/dep-optimization-options
[2] https://v3.vitejs.dev/config/dep-optimization-options.html
[3] https://vitejs.dev/guide/dep-pre-bundling
[4] https://github.com/remix-run/remix/discussions/8917
[5] https://stackoverflow.com/questions/77421774/vites-optimizedeps-include-doesnt-work-with-relative-paths