استخراج المكونات والقوالب الجزئية
تقسيم ملفات HTML الكبيرة إلى قوالب جزئية قابلة لإعادة الاستخدام
استخراج المكونات والقوالب الجزئية درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.
مشكلة التكرار
كلما كبر مشروع HTML، ظهرت الأجزاء نفسها من الترميز في صفحات كثيرة، مثل ترويسة الموقع وتذييله وشريط التنقل وبطاقة المنتج وحقل النموذج. يؤدي النسخ واللصق إلى كابوس في الصيانة؛ فتغيير التذييل يعني تعديل كل صفحة.
التضمين من جانب الخادم
تدعم معظم لغات إنشاء القوالب من جانب الخادم، مثل Jinja وLiquid وERB وEJS وHandlebars وTwig، توجيهات التضمين: {% include "header.html" %} أو <%- include("header") %>. تضع عملية البناء أو الخادم الجزء الجزئي داخل كل صفحة تتضمنه.
<!-- page.html -->
{% include "partials/header.html" %}
<main>{{ content }}</main>
{% include "partials/footer.html" %}أطر العمل على مستوى المكونات
تعبّر مكونات JSX/TSX في React وملفات Vue SFC ومكونات Svelte ومكونات Astro عن الفكرة نفسها بدلالات أقوى؛ إذ ي encapsulate المكوّن البنية والتنسيقات والسلوك. وتُحوّل هذه المكونات إلى HTML أثناء البناء (SSG) أو أثناء التشغيل (SSR/CSR).
التسمية والتنظيم
جمّع الأجزاء الجزئية والمكونات حسب الغرض: partials/layout/ للترويسة والتذييل وشريط التنقل، وpartials/blocks/ لأقسام hero وfeature وcta، وpartials/forms/ للحقول والأزرار والقوائم. يجعل التنظيم المتسق مكتبة الأجزاء الجزئية سهلة التصفح مع نموها.
تمرير البيانات
تصبح الأجزاء الجزئية أكثر فاعلية باستخدام المعاملات: {% include "button.html" with label="Save", variant="primary" %}. داخل الجزء الجزئي، ارجع إلى المعاملات بأسمائها. وبذلك يعرض القالب نفسه أزرارًا مختلفة في أنحاء الموقع.
التركيب الشبيه بفتحات المحتوى
بالنسبة إلى الأجزاء الجزئية التي تلتف حول محتوى عشوائي، مثل البطاقات ومربعات الحوار، استخدم أنماط الفتحات: {% block content %}{% endblock %} في Jinja، و{% block %} في Twig، ووسيط {children} في JSX. يوفر الجزء الملتف الهيكل الخارجي، بينما يوفّر المستهلك المحتوى الداخلي.
التضمين أثناء البناء مقابل وقت التشغيل
تحل مولدات المواقع الثابتة، مثل 11ty وAstro وHugo وJekyll، عمليات التضمين أثناء البناء؛ لذلك لا يحتوي HTML المنشور على صياغة القالب. أما القوالب الديناميكية، مثل PHP وRails وExpress+EJS، فتحلها عند وقت الطلب؛ وهي مرنة لكنها أبطأ. اختر الأسلوب وفقًا لحاجة المحتوى إلى التغير مع كل طلب.
الاقتران مع CSS
ينبغي أن تحمل الأجزاء الجزئية ملفات CSS الخاصة بها. فالجزء الجزئي للتذييل يملك footer.css، والجزء الجزئي للزر يملك button.css. وبالاقتران مع خطوة بناء تجمع CSS الخاص بالأجزاء المستخدمة فعليًا في الصفحة فقط، يتجنب هذا تحميل CSS الخاص بكل مكوّن في كل مكان.
اختبارات الأجزاء الجزئية
ينبغي اختبار كل جزء جزئي بمعزل عن غيره: اعرضه باستخدام بيانات متنوعة، ثم تحقّق من الناتج. تنطبق أدوات مثل اختبار المكونات في Cypress أو اختبار اللقطات في Jest على أجزاء HTML الجزئية أيضًا. وتصبح الأجزاء المختبرة آمنة للتعديل دون الحاجة إلى التحقق يدويًا من كل صفحة تستخدمها.
إدارة الإصدارات والتغييرات المتعارضة
تُعد الأجزاء الجزئية واجهة API. ويُعد تغيير أسماء المعاملات أو اصطلاحات الفتحات أو الخصائص المطلوبة تغييرًا متعارضًا يؤثر في كل مستهلك. وثّق واجهة الجزء الجزئي، وأوقف الميزات تدريجيًا، واستخدم أداة بحث للعثور على كل موضع استخدام قبل إعادة الهيكلة.
تركيب عدة أجزاء جزئية
أنشئ الصفحات بتركيب الأجزاء الجزئية: الترويسة، والشريط الجانبي، والمحتوى، والتذييل، وأجزاء التحليلات. يكون كل جزء صغيرًا ومركزًا؛ وتصبح الصفحة نفسها مجرد نص برمجي رفيع لتجميع هذه الأجزاء وربطها. وهذا أسهل بكثير في الفهم من ملف HTML واحد مؤلف من 800 سطر.
مسار الترحيل
لاستخراج جزء جزئي: حدّد الترميز المكرر بين الصفحات، وانسخه إلى partials/X.html، واستبدل كل ظهور له بتوجيه التضمين، وحوّل القيم المختلفة بين المستهلكين إلى معاملات. عالج جزءًا جزئيًا واحدًا في كل مرة؛ فسيتحسن المشروع تدريجيًا.
اختبار المعرفة
ما الفائدة الرئيسية من استخراج جزء HTML متكرر، مثل تذييل الموقع، إلى جزء جزئي؟
الملخص
استخرج HTML المتكرر إلى أجزاء جزئية أو مكونات باستخدام التضمين من جانب الخادم، مثل Jinja وTwig وEJS، أو باستخدام مكونات أطر العمل، مثل React وVue وSvelte وAstro. مرّر البيانات عبر المعاملات، وأنشئ التركيب عبر الفتحات. جمّع الأجزاء حسب الغرض، واختبرها بمعزل عن غيرها، وتعامل مع توقيع الجزء الجزئي باعتباره API. نفّذ الترحيل تدريجيًا؛ فكل عملية استخراج تقلل التكرار وتحسّن قابلية الصيانة.
تعلم HTML مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 40
- الدروس
- 159
الأسئلة الشائعة
هل درس «استخراج المكونات والقوالب الجزئية» مجاني؟
نعم — نص درس «استخراج المكونات والقوالب الجزئية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.
ماذا ستتعلم في «استخراج المكونات والقوالب الجزئية»؟
تقسيم ملفات HTML الكبيرة إلى قوالب جزئية قابلة لإعادة الاستخدام تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟
لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «استخراج المكونات والقوالب الجزئية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟
نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استخراج المكونات والقوالب الجزئية
- إنشاء القوالب على الخادم: Jinja2 وHandlebars
- HTML في أنظمة التصميم
- دمج التوثيق ودليل الأنماط