DokumentasiPahami modelnya

Perutean

Nexy memiliki dua router asli. Anda dapat memilih satu per fitur; mereka dapat hidup berdampingan dalam aplikasi yang sama.

Tidak yakin? Gunakan perutean berbasis file. Ini mencakup halaman dan titik akhir API tanpa pengaturan. Tambahkan router modular ketika backend memerlukan pengontrol, layanan yang disuntikkan, atau penjaga.

Anda sedang membangun Gunakan
Halaman, konten, situs dengan beberapa titik akhir Berbasis file
API besar dengan layanan yang dibagikan ke seluruh rute Modular
Keduanya: halaman untuk manusia, API terstruktur untuk mesin Berbasis file dan modular bersama-sama
Sekilas tentang router berbasis file
src/routes/index.nexy/
src/routes/about.nexy/about
src/routes/blog/index.nexy/blog
src/routes/blog/[slug].nexy/blog/:slug
src/routes/(app)/dashboard.nexy/dashboard
src/routes/api/users.py/api/users(GET, POST, …)
Sekilas tentang router modular
@Controller() class AppController/
@Controller("/about") class AboutController/about/
@Controller("/api/users") class UserController/api/users/(get, post, …)
@Module() class AppModulelists the controllers
useRouter = AppModule nexyconfig.pymounts the module
Perute Sumber Diaktifkan oleh
Berbasis file (FBR) setiap file di bawah src/routes/ direktori tersebut ada
Modular pengontrol dan modul useRouter = AppModule di nexyconfig.py

FBR dipindai setiap kali src/routes/ ada, bahkan dengan router modular terpasang.

Hidup berdampingan dan prioritas

Anda dapat menggabungkan integrasi FBR, Modular, dan kustom. Nexy mendaftarkan rute-rute ini sesuai urutan penemuannya. Jika dua router menentukan jalur URL yang sama, router pertama yang terdaftar akan menang.

Catatan: Nexy saat ini tidak menyediakan diagnostik untuk tabrakan URL; rute pertama yang mengklaim suatu jalur hanya membayangi rute lainnya.

Perutean berbasis file

Rute adalah file. URL adalah jalurnya di bawah src/routes/, tanpa ekstensi. Seperti Next.js, sebuah proyek berada dalam salah satu dari dua mode, dipilih dengan useCSR:

useCSR = False (bawaan) useCSR = True
Halaman .nexy, .md, .mdx file kerangka klien Anda
Tata letak akar layout.nexy layout.tsx (React)
Komponen klien diperbolehkan, sebagai pulau di dalam halaman halaman itu sendiri
Rute API .py .py

Lihat Mode server dan mode klien.

Bagian Apa yang dicakupnya
fbr/halaman halaman, rute dinamis dan grup rute
fbr/tata letak layout.nexy, layout.tsx, layout.vue, layout.svelte
fbr/penangan .py penangan rute, validasi dan kesalahan
fbr/dependensi dependencies.py dan penjaga, diwarisi berdasarkan direktori
fbr/middleware middleware.py, diwarisi berdasarkan direktori
fbr/kesalahan notfound.nexy, errors.nexy, kesalahan JSON
fbr/navigasi penautan, navigasi klien, kait
fbr/waktu nyata WebSocket penangan
fbr/warisan bagaimana tata letak, ketergantungan, dan halaman kesalahan diwarisi

Perutean modular

Pengontrol, modul dan injeksi ketergantungan, dalam gaya NestJS. Lihat Perutean modular dan Nexy dan NestJS.

Bagian Apa yang dicakupnya
modular @Controller, @Module, impor dan ekspor
modular/injeksi ketergantungan @Injectable, cakupan dan wadahnya
modular/penjaga-dan-metadata @UseGuard, @UseResponse dan OpenAPI metadata

Pengontrol mengembalikan tampilan .nexy dengan useViews, dan meneruskannya ke tata letaknya dengan tangan: tidak ada layout.nexy yang diterapkan oleh folder.

Integrasi Kustom

Anda juga dapat mengintegrasikan router FastAPI yang ada ke dalam proyek Nexy Anda. Lihat Integrasi perutean khusus.

Langkah selanjutnya

Sunting di GitHub

Enter membuka hasil, Esc menutup.