React di Cloudflare Workers dengan Hono
Siapkan Cloudflare Worker dengan Hono dan renderToReadableStream untuk menyajikan halaman React dari edge.
React di Cloudflare Workers dengan Hono adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Apa Itu Hono?
Hono adalah kerangka kerja web yang ringan dan sangat cepat, dirancang untuk berjalan pada runtime tepi termasuk Cloudflare Workers, Deno Deploy, Bun, dan Node.js. API-nya terinspirasi oleh Express, tetapi dibangun dari awal untuk Standar Web (Fetch API, Request/Response), sehingga cocok secara alami untuk lingkungan tepi.
Membuat Cloudflare Worker dengan Hono
Membuat kerangka proyek Hono baru untuk Cloudflare Workers sangat mudah: npm create hono@latest meminta Anda memilih templat, memilih "cloudflare-workers", lalu membuat proyek yang telah dikonfigurasi sebelumnya dengan wrangler (CLI milik Cloudflare) dan dependensi Hono.
Menambahkan SSR React
Untuk merender React di dalam Worker Hono, instal react, react-dom, dan @types/react, lalu impor renderToReadableStream dari react-dom/server. Fungsi ini merupakan bagian dari API aliran React 18 dan dirancang untuk lingkungan yang mendukung API Aliran Web — dan Cloudflare Workers mendukungnya.
Penangan Rute Hono
Penangan rute SSR biasanya memanggil renderToReadableStream dengan komponen React akar Anda, menunggu alirannya, lalu menggunakan c.body(stream, { headers: { 'Content-Type': 'text/html' } }) atau c.html(htmlString) untuk mengirim respons. Aliran tersebut menghasilkan potongan HTML yang dapat dirender browser secara bertahap.
Jenis Pengembalian renderToReadableStream
renderToReadableStream mengembalikan Promise yang diselesaikan menjadi ReadableStream berisi potongan HTML. ReadableStream ini sesuai dengan API Aliran Web dan dapat langsung diteruskan sebagai isi objek Response, sehingga sangat cocok untuk penangan fetch Cloudflare Workers.
Membungkusnya dalam Kerangka HTML
Aliran React menghasilkan HTML pohon komponen, tetapi tidak menghasilkan dokumen di sekelilingnya. Anda harus menyisipkan aliran tersebut ke dalam kerangka HTML: sebuah string yang berisi deklarasi tipe dokumen, bagian kepala dengan tag meta dan tautan CSS, tag body pembuka — lalu aliran React — kemudian tag body dan html penutup.
Menyajikan Aset Statis
Bundel klien React yang dibangun dengan Vite perlu disajikan bersama Worker. Cloudflare Pages atau fitur ASSETS pada Workers menanganinya: c.env.ASSETS.fetch(request) merutekan permintaan aset (JS, CSS, gambar) ke berkas statis yang diunggah bersama penerapan Worker.
Titik Masuk worker.js
Berkas entri Worker mengekspor objek default dengan penangan fetch: export default { fetch: app.fetch }. Metode app.fetch milik Hono sudah merupakan penangan fetch yang kompatibel, yang menerima Request dan mengembalikan Response, sehingga dapat langsung digunakan oleh runtime Workers.
Pengembangan Lokal dengan Wrangler
wrangler dev memulai server pengembangan lokal yang meniru runtime Cloudflare Workers di komputer Anda. Perintah ini memantau perubahan berkas dan memuat ulang secara otomatis, sehingga menyediakan siklus pengembangan lokal yang cepat sebelum penerapan ke produksi.
Menerapkan ke Cloudflare
wrangler deploy memaketkan dan mengunggah kode Worker Anda ke jaringan Cloudflare, sehingga kode tersebut aktif di lebih dari 300 lokasi tepi dalam hitungan detik. Berkas konfigurasi wrangler.toml menentukan ID akun, nama Worker, serta pengikatan ruang nama KV atau basis data D1.
Hidrasi dengan bootstrapScripts
Untuk interaktivitas sisi klien, teruskan bootstrapScripts: ['/assets/client.js'] ke renderToReadableStream. React akan menyisipkan tag skrip ke dalam HTML yang memuat bundel klien dan memanggil hydrateRoot pada DOM yang dirender di server, sehingga halaman menjadi interaktif setelah JS dimuat.
Jenis Pengembalian renderToReadableStream
Apa yang dikembalikan renderToReadableStream?
Ringkasan Pelajaran
Hono menyediakan kerangka kerja HTTP ringan yang dirancang khusus untuk tepi dan terintegrasi dengan baik dengan renderToReadableStream milik React. Entri Worker mengekspor app.fetch langsung ke runtime Workers, aset statis disajikan melalui pengikatan ASSETS, dan wrangler menangani pengembangan lokal maupun penerapan produksi. bootstrapScripts menghubungkan HTML yang dialirkan dengan bundel hidrasi sisi klien.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “React di Cloudflare Workers dengan Hono” gratis?
Ya — teks lengkap “React di Cloudflare Workers dengan Hono” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “React di Cloudflare Workers dengan Hono”?
Siapkan Cloudflare Worker dengan Hono dan renderToReadableStream untuk menyajikan halaman React dari edge. Kamu berlatih React 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 React Academy?
Tidak diperlukan pengalaman sebelumnya. React 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 2 dari 4.
Berapa lama pelajaran “React di Cloudflare Workers dengan Hono” 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 React Academy ini?
Ya. Setiap pelajaran React 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
- Apa Itu Perenderan Edge dan Mengapa Penting
- React di Cloudflare Workers dengan Hono
- SSR Streaming dari Edge
- Strategi Caching Edge untuk Aplikasi React