
ترجمة جميع مكتبات CDN / المكونات الإضافية التابعة لجهات خارجية
يوجد بالفعل مجلد موجود في مشروع لوحة الإدارة:
عام/كدن/
أريدك أن تقوم بتدقيق المشروع بأكمله وإزالة تبعيات وقت التشغيل غير الضرورية على عناوين URL الخاصة بـ CDN التابعة لجهات خارجية.
هام:
هذا لا يتعلق بالصور فقط.
أعني على وجه التحديد CSS وجافا سكريبت والخطوط والأيقونات والمكتبات والأطر والمكونات الإضافية وأصول الواجهة الأمامية الثابتة الأخرى التي يتم تحميلها حاليًا من شبكات CDN خارجية.
==================================================================================================
1. قم بمسح المشروع بأكمله
==================================================================================================
ابحث في قاعدة التعليمات البرمجية بأكملها عن جميع مراجع CDN/المكتبة الخارجية، بما في ذلك:
- cdn.jsdelivr.net
- cdnjs.cloudflare.com
- unpkg.com
- التمهيد CDN
- أيقونات Bootstrap CDN
- الخط رائع CDN
- الأصول الثابتة التي تستضيفها Google حيث يتم تحميلها مباشرة عن طريق عنوان URL
- AOS CDN
- سوايبر CDN
- جيساب CDN
- مسج CDN
- بوبر CDN
- جبال الألب CDN
- ملفات CSS الخارجية
- ملفات جافا سكريبت الخارجية
- ملفات الخطوط الخارجية
- مكتبات الأيقونات الخارجية
- ملفات البرنامج المساعد الخارجية
- `
بعد:
إذا كان المشروع يستخدم عمليات استيراد Next.js/React، ففضل تثبيت/استيراد الحزمة محليًا من خلال مدير حزم المشروع عندما تكون هذه هي البنية الصحيحة.
لا تقم بتكرار مكتبة دون داعٍ في كل من العقدة_النموذجية والعامة/cdn.
استخدم النهج الأنظف بناءً على كيفية عمل المشروع الحالي.
==================================================================================================
4. مكتبات CSS
توطين مكتبات CSS التابعة لجهات خارجية.
أمثلة:
- التمهيد
- أيقونات التمهيد
- الخط رائع CSS
- سوايبر CSS
- AOS CSS
- البرنامج المساعد CSS
- أوراق الأنماط الأخرى المستضافة على CDN
احفظ الملفات المطلوبة تحت:
عام/كدن/
وتحديث المراجع إلى المسارات المحلية.
تأكد من استمرار عمل مراجع الأصول النسبية داخل CSS.
إذا كان ملف CSS يشير إلى الخطوط/الصور من خلال عناوين URL النسبية، فقم بترجمة هذه التبعيات أيضًا وأصلح المسارات.
==================================================================================================
5. الخطوط
إذا كانت مكتبات الجهات الخارجية تستخدم ملفات خطوط خارجية:
- التعرف على ملفات الخطوط الفعلية
- تنزيلها/استضافتها ذاتيًا حيثما يسمح بذلك قانونًا
- ضعها تحت `public/cdn/fonts/`
- تحديث مراجع CSS/font-face
لا تكسر الطباعة.
الحفاظ على:
- عائلة الخطوط
- أوزان الخطوط
- أنماط الخطوط
- عرض الخط
- نطاقات يونيكود حيثما ينطبق ذلك
إذا كان المشروع يستخدم نظام تحسين الخطوط الرسمي الخاص بـ Next.js، فلا تقم بنقل هذه الخطوط دون داع إلى "public/cdn".
==================================================================================================
6. مكتبات الأيقونات
إذا تم تحميل الرموز من CDN لجهة خارجية:
- تحديد المكتبة/الإصدار الدقيق
- توطين أصول CSS/font/SVG المطلوبة
- ضعها تحت `public/cdn/`
- تحديث التطبيق لاستخدام الأصول المحلية
أمثلة:
- أيقونات التمهيد
- الخط رائع
- حزم أيقونات أخرى
لا تستبدل الرموز ببدائل عشوائية.
==================================================================================================
7. تبعيات البرنامج المساعد
لكل مكون إضافي تابع لجهة خارجية:
تحقق مما إذا كان:
أ. تم تثبيته بالفعل من خلال npm/package.json
أو
ب. يتم تحميله مباشرة من CDN.
إذا تم تثبيته بالفعل من خلال npm:
تفضل حزمة npm المحلية بدلاً من تنزيل نسخة ثانية إلى "public/cdn".
إذا تم تحميله فقط من CDN:
ترجمة الملفات الثابتة المطلوبة إلى:
عام/كدن/
وتحديث الكود لاستخدامها.
لا تقم بإنشاء نسخ مكررة دون داع.
==================================================================================================
8. الحفاظ على الإصدارات الدقيقة
هذا مهم للغاية.
إذا كان موقع الويب الحالي يستخدم:
بوتستراب 5.3.3
لا تقم بتغييره بصمت إلى:
بوتستراب 5.3.4
إذا كان يستخدم:
اوس 2.3.4
احتفظ بهذا الإصدار.
حدد أولاً الإصدار الموجود واحتفظ به ما لم يكن هناك سبب توافق/أمان يتطلب التغيير.
==================================================================================================
9. قم بإزالة تبعية CDN
بعد الترجمة، قم بإزالة مراجع CDN الخارجية غير الضرورية من التطبيق.
يجب ألا يحتاج المتصفح إلى تنزيل هذه المكتبات من:
- jsdelivr
- سي دي ان جي اس
- فك الكغ
- شبكات CDN أخرى تابعة لجهات خارجية
يجب أن يقوم التطبيق بتحميلها محلياً.
مثال:
الطرف الثالث:
https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css
↓
محلي:
/cdn/bootstrap/bootstrap.min.css
==================================================================================================
10. لا تقم بكسر NEXT.JS
هذا هو مشروع Next.js.
قبل تغيير أي شيء، قم بفحص:
- الحزمة.json
- next.config.*
- التطبيق/
- المكونات/
- تخطيطات
- الوسيطة
- CSS الموجودة
- شبيبة القائمة
- عامة/
- التبعيات الحالية
لا تقم بتحويل كل مكتبة CDN بشكل أعمى إلى علامة `
