Ekstraksi Komponen dan Partial
Pecah file HTML besar menjadi template partial yang dapat digunakan kembali.
Ekstraksi Komponen dan Partial adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.
Masalah Duplikasi
Saat basis kode HTML berkembang, potongan HTML yang sama muncul di banyak halaman — tajuk situs, kaki situs, navigasi, kartu produk, dan bidang formulir. Menyalin-tempelnya menciptakan mimpi buruk pemeliharaan; mengubah kaki situs berarti mengedit setiap halaman.
Penyertaan Sisi Server
Sebagian besar bahasa templating sisi server (Jinja, Liquid, ERB, EJS, Handlebars, Twig) mendukung direktif penyertaan: {% include "header.html" %} atau <%- include("header") %>. Proses build atau server menyisipkan bagian parsial ke setiap halaman yang menyertakannya.
<!-- page.html -->
{% include "partials/header.html" %}
<main>{{ content }}</main>
{% include "partials/footer.html" %}Kerangka Kerja Tingkat Komponen
JSX/TSX (React), SFC Vue, komponen Svelte, dan komponen Astro menyatakan gagasan yang sama dengan semantik yang lebih kuat: komponen membungkus struktur, gaya, dan perilaku. Semua itu dikompilasi menjadi HTML saat pembangunan (SSG) atau saat berjalan (SSR/CSR).
Penamaan dan Pengaturan
Kelompokkan partial/komponen berdasarkan tujuan: partials/layout/ untuk tajuk/kaki/navigasi, partials/blocks/ untuk blok hero/fitur/cta, dan partials/forms/ untuk bidang/tombol/pilihan. Pengaturan yang konsisten membuat pustaka partial mudah dijelajahi saat terus berkembang.
Meneruskan Data
Partial menjadi lebih bermanfaat dengan parameter: {% include "button.html" with label="Save", variant="primary" %}. Di dalam partial, rujuk parameter berdasarkan namanya. Templat yang sama dapat merender tombol berbeda di seluruh situs.
Komposisi seperti Slot
Untuk partial yang membungkus konten sembarang (kartu, dialog), gunakan pola slot: {% block content %}{% endblock %} milik Jinja, {% block %} milik Twig, dan prop {children} milik JSX. Partial pembungkus menyediakan kerangkanya; pemakai menyediakan bagian dalamnya.
Penyertaan Saat Pembangunan vs Saat Berjalan
Pembangkit situs statis (11ty, Astro, Hugo, Jekyll) menyelesaikan penyertaan saat pembangunan — HTML yang diterapkan tidak memiliki sintaks templat. Templating dinamis (PHP, Rails, Express+EJS) menyelesaikannya saat permintaan — fleksibel tetapi lebih lambat. Pilih berdasarkan apakah konten perlu bersifat dinamis untuk setiap permintaan.
Keterikatan CSS
Partial sebaiknya membawa CSS-nya sendiri. Partial kaki memiliki footer.css; partial tombol memiliki button.css. Jika digabungkan dengan langkah build yang hanya menggabungkan CSS untuk partial yang benar-benar digunakan di halaman, pendekatan ini mencegah CSS setiap komponen dimuat di semua tempat.
Pengujian Partial
Setiap partial sebaiknya dapat diuji secara terpisah: render dengan berbagai data, lalu pastikan keluarannya. Alat seperti pengujian komponen Cypress atau pengujian snapshot Jest juga dapat diterapkan pada partial HTML. Partial yang telah diuji aman untuk diubah tanpa harus memverifikasi setiap halaman pemakai secara manual.
Pembuatan Versi dan Perubahan yang Merusak
Partial adalah API. Mengubah nama parameter, aturan slot, atau prop yang wajib digunakan merupakan perubahan yang merusak bagi setiap pemakai. Dokumentasikan antarmuka partial, hentikan penggunaannya secara bertahap, dan gunakan alat pencarian untuk menemukan setiap penggunaan sebelum melakukan refaktor.
Menyusun Beberapa Partial
Bangun halaman dengan menyusun partial: partial tajuk + bilah sisi + konten + kaki + analitik. Setiap partial berukuran kecil dan berfokus; halaman itu sendiri menjadi skrip perakitan tipis yang menghubungkan semuanya. Ini jauh lebih mudah dipahami daripada HTML satu berkas sepanjang 800 baris.
Jalur Migrasi
Untuk mengekstrak partial: kenali markup yang diduplikasi di berbagai halaman, salin ke partials/X.html, ganti setiap kemunculannya dengan direktif penyertaan, lalu jadikan nilai yang berbeda antar-pemanggil sebagai parameter. Kerjakan satu partial setiap kali; basis kode akan membaik secara bertahap.
Uji Pemahaman
Apa manfaat utama mengekstrak potongan HTML berulang (seperti kaki situs) menjadi partial?
Ringkasan
Ekstrak HTML berulang menjadi partial/komponen melalui penyertaan sisi server (Jinja, Twig, EJS) atau komponen kerangka kerja (React, Vue, Svelte, Astro). Teruskan data melalui parameter dan susun melalui slot. Kelompokkan berdasarkan tujuan, uji secara terpisah, dan perlakukan tanda tangan partial sebagai API. Lakukan migrasi secara bertahap — setiap ekstraksi mengurangi duplikasi dan meningkatkan kemudahan pemeliharaan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Ekstraksi Komponen dan Partial” gratis?
Ya — teks lengkap “Ekstraksi Komponen dan Partial” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Ekstraksi Komponen dan Partial”?
Pecah file HTML besar menjadi template partial yang dapat digunakan kembali. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai HTML Academy?
Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Ekstraksi Komponen dan Partial” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ekstraksi Komponen dan Partial
- Templating Sisi Server Jinja2 Handlebars
- HTML dalam Sistem Desain
- Integrasi Dokumentasi dan Panduan Gaya