React pada Cloudflare Workers dengan Hono
Sediakan Cloudflare Worker dengan Hono dan renderToReadableStream untuk menyajikan halaman React dari pinggir.
React pada Cloudflare Workers dengan Hono ialah pelajaran React Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran React Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus React Academy merangkumi sejumlah 4 pelajaran.
Apakah Hono
Hono ialah rangka kerja web yang ringan dan amat pantas, direka untuk berjalan pada persekitaran masa jalan pinggir termasuk Cloudflare Workers, Deno Deploy, Bun dan Node.js. Antara mukanya diinspirasikan oleh Express tetapi dibina dari awal berdasarkan Piawaian Web (antara muka Fetch, Request/Response), menjadikannya sangat sesuai untuk persekitaran pinggir.
Mencipta Cloudflare Worker dengan Hono
Membina rangka asas projek Hono baharu untuk Cloudflare Workers adalah mudah: npm create hono@latest meminta Anda memilih templat, memilih "cloudflare-workers", kemudian mencipta projek yang telah dikonfigurasikan dengan wrangler (CLI Cloudflare) dan kebergantungan Hono.
Menambah SSR React
Untuk memaparkan React pada pelayan di dalam Hono Worker, pasang react, react-dom dan @types/react, kemudian import renderToReadableStream daripada react-dom/server. Fungsi ini sebahagian daripada antara muka penstriman React 18 dan direka untuk persekitaran yang menyokong antara muka Strim Web — dan Cloudflare Workers menyokongnya.
Pengendali Laluan Hono
Pengendali laluan SSR biasa memanggil renderToReadableStream dengan komponen React akar Anda, menunggu strim itu, kemudian menggunakan c.body(stream, { headers: { 'Content-Type': 'text/html' } }) atau c.html(htmlString) untuk menghantar tindak balas. Strim tersebut menghasilkan bahagian HTML yang boleh dipaparkan oleh pelayar secara berperingkat.
Jenis Pulangan renderToReadableStream
renderToReadableStream memulangkan Promise yang diselesaikan kepada ReadableStream yang mengandungi bahagian HTML. ReadableStream ini mematuhi antara muka Strim Web dan boleh dihantar terus sebagai isi objek Response, menjadikannya sangat sesuai untuk pengendali ambil Cloudflare Workers.
Membungkus dalam Shell HTML
Strim React menghasilkan HTML pepohon komponen tetapi bukan dokumen di sekelilingnya. Anda mesti memasukkan strim itu ke dalam shell HTML: rentetan yang mengandungi deklarasi jenis dokumen, head dengan tag meta dan pautan CSS, serta tag body pembuka — kemudian strim React — diikuti tag body dan html penutup.
Menyampaikan Aset Statik
Himpunan klien React yang dibina dengan Vite perlu disampaikan bersama Worker. Cloudflare Pages atau ciri Assets Workers mengendalikan perkara ini: c.env.ASSETS.fetch(request) menghalakan permintaan aset (JS, CSS, imej) kepada fail statik yang dimuat naik bersama penerapan Worker Anda.
Titik Masuk worker.js
Fail entri Worker mengeksport objek lalai dengan pengendali ambil: export default { fetch: app.fetch }. Kaedah app.fetch Hono sudah pun merupakan pengendali ambil yang serasi, yang menerima Request dan memulangkan Response, jadi kaedah ini boleh disambungkan terus kepada persekitaran masa jalan Workers.
Pembangunan Setempat dengan Wrangler
wrangler dev memulakan pelayan pembangunan setempat yang meniru persekitaran masa jalan Cloudflare Workers pada komputer Anda. Ia memantau perubahan fail dan memuat semula secara automatik, lalu menyediakan gelung pembangunan setempat yang pantas sebelum penerapan ke produksi.
Menerapkan ke Cloudflare
wrangler deploy menggabungkan dan memuat naik kod Worker Anda ke rangkaian Cloudflare, menjadikannya aktif di semua lebih 300 lokasi pinggir dalam masa beberapa saat. Fail konfigurasi wrangler.toml menentukan ID akaun, nama Worker serta sebarang pengikatan ruang nama KV atau pangkalan data D1.
Hidrasi dengan bootstrapScripts
Untuk interaktiviti sisi klien, hantarkan bootstrapScripts: ['/assets/client.js'] kepada renderToReadableStream. React akan memasukkan tag skrip ke dalam HTML yang memuatkan himpunan klien dan memanggil hydrateRoot pada DOM yang dipaparkan pada pelayan, lalu menjadikan halaman interaktif selepas JS dimuatkan.
Jenis Pulangan renderToReadableStream
Apakah yang dipulangkan oleh renderToReadableStream?
Rumusan Pelajaran
Hono menyediakan rangka kerja HTTP yang ringan dan direka khusus untuk pinggir, serta berintegrasi dengan kemas dengan renderToReadableStream React. Entri Worker mengeksport app.fetch terus kepada persekitaran masa jalan Workers, aset statik disampaikan melalui pengikatan ASSETS, dan wrangler mengendalikan pembangunan setempat serta penerapan produksi. bootstrapScripts menghubungkan HTML distrimkan kepada himpunan hidrasi sisi klien.
Pelajari React dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 88
- Pelajaran
- 324
Soalan Lazim
Adakah pelajaran “React pada Cloudflare Workers dengan Hono” percuma?
Ya — teks penuh “React pada Cloudflare Workers dengan Hono” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus React Academy, tingkat taraf kepada CoddyKit PRO. Kursus React Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “React pada Cloudflare Workers dengan Hono”?
Sediakan Cloudflare Worker dengan Hono dan renderToReadableStream untuk menyajikan halaman React dari pinggir. Anda berlatih React Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan React Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran React Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “React pada Cloudflare Workers dengan Hono” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Apakah Pemaparan Pinggir dan Mengapa Ia Penting
- React pada Cloudflare Workers dengan Hono
- SSR Penstriman dari Pinggir
- Strategi Pencachean Pinggir untuk Aplikasi React