تعتبر ميزة تحسين التبعية في 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