DokumentasiBerbasis file

Perutean berbasis file

Rute adalah file. URL adalah jalur file yang berhubungan dengan src/routes/, tanpa ekstensi.

File ke URL

Mengajukan URL
index.nexy /
about.nexy /about
blog/index.nexy /blog
blog/[slug].nexy /blog/{slug}
docs/[...path].nexy /docs/{path:path}
(marketing)/pricing.nexy /pricing
api/users.py /api/users

index memetakan ke direktorinya, bukan ke /index. Direktori dalam tanda kurung adalah grup: direktori ini mengatur file tanpa muncul di URL.

Dalam mode klien, file halaman adalah .tsx, .vue atau .svelte bukannya .nexy; aturan URL-nya sama.

Dua file dari tabel itu: halaman yang membaca segmennya, dan sebuah handler yang menjawab JSON.

src/rute/blog/[siput].nexy
---slug: prop[str]---<h1>{{ slug }}</h1>
src/routes/api/users.py
async def GET():    return {"users": []}

Dua mode

useCSR memutuskan halamannya. Keduanya tidak dapat digabungkan dalam satu proyek: Nexy menolak untuk memulai ketika halaman server berada di sebelah rute klien.

Modus Halaman Tata letak akar Lihat
Server (useCSR = False) .nexy, .md, .mdx layout.nexy Mode server dan mode klien
Klien (useCSR = True) file kerangka layout.tsx tata letak.tsx

File .py adalah penangan API di kedua mode.

Sakelarnya adalah satu baris nexyconfig.py:

nexyconfig.py
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react  class NexyConfig(NexyConfigModel):    useFF = react()    useCSR = True  # client mode: src/routes/*.tsx are the pages

Apa yang bukan rute

  • Nama file yang dicadangkan: layout.*, loading.nexy, errors.nexy, notfound.nexy, dependencies.py, middleware.py, __init__.py.
  • File dan folder yang dimulai dengan _ atau .: gunakan untuk sebagian dan draf.
  • Ekstensi yang tidak aktif untuk proyek Anda. File yang ekstensinya tidak aktif dilewati dengan peringatan.
src/routes/
layout.nexywraps the pages, not a route
middleware.pywraps the requests, not a route
index.nexy/
_card.nexya partial: no URL
.draft.nexya draft: no URL

Satu file per URL

Dua file yang diselesaikan ke URL yang sama keduanya terdaftar. Jangan membuat blog.nexy di samping blog/index.nexy, dan jangan mencampur index.nexy dan index.py untuk jalur yang sama. Pilih satu.

src/routes/
blog.nexy/blog
blog/
index.nexy/blog as well: delete one of the two

Di bagian ini

Map Apa yang dicakupnya
halaman/ halaman, rute dinamis, grup rute
tata letak/ satu halaman per jenis file tata letak
penangan/ .py penangan, validasi dan kesalahan
ketergantungan/ dependencies.py, penjaga
perangkat tengah/ middleware.py
kesalahan/ halaman tidak ditemukan dan halaman kesalahan
navigasi/ tautan, kait
waktu nyata/ WebSocket
warisan aturan pewarisan dalam satu tabel

Langkah selanjutnya

Sunting di GitHub

Enter membuka hasil, Esc menutup.