الوثائقفهم النموذج
التوجيه
لدى Nexy جهازي توجيه أصليين. يمكنك اختيار واحد لكل ميزة؛ يمكنهم التعايش في نفس التطبيق.
لست متأكدا؟ استخدم التوجيه المستند إلى الملف. وهو يغطي الصفحات ونقاط نهاية واجهة برمجة التطبيقات (API) بدون أي إعداد. أضف جهاز التوجيه المعياري عندما تحتاج الواجهة الخلفية إلى وحدات تحكم أو خدمات محقونة أو حراس.
| أنت تقوم بالبناء | استخدم |
|---|---|
| الصفحات والمحتوى والموقع الذي يحتوي على نقاط نهاية قليلة | على أساس الملف |
| واجهة برمجة تطبيقات كبيرة مع خدمات مشتركة عبر المسارات | وحدات |
| كلاهما: صفحات للأشخاص، وواجهة برمجة تطبيقات منظمة للآلات | قائم على الملفات ومعياري معًا |
src/routes/index.nexy/src/routes/about.nexy/aboutsrc/routes/blog/index.nexy/blogsrc/routes/blog/[slug].nexy/blog/:slugsrc/routes/(app)/dashboard.nexy/dashboardsrc/routes/api/users.py/api/users(GET, POST, …)/@Controller("/about") class AboutController/about/@Controller("/api/users") class UserController/api/users/(get, post, …)lists the controllersuseRouter = AppModule nexyconfig.pymounts the module| جهاز التوجيه | المصدر | تم التمكين بواسطة |
|---|---|---|
| القائم على الملف (FBR) | كل ملف تحت src/routes/ |
الدليل موجود |
| وحدات | وحدات التحكم والوحدات | useRouter = AppModule في nexyconfig.py |
يتم فحص FBR عند وجود src/routes/، حتى مع تركيب جهاز توجيه معياري.
التعايش والأولويات
يمكنك الجمع بين التكامل FBR والتكامل المعياري والمخصص. يقوم Nexy بتسجيل هذه المسارات بالترتيب الذي تم اكتشافها به. إذا قام جهازي توجيه بتحديد نفس مسار URL، فإن أول جهاز تم تسجيله يفوز.
ملاحظة: لا يوفر Nexy حاليًا تشخيصًا لتصادمات عناوين URL؛ إن الطريق الأول للمطالبة بمسار ما يؤدي ببساطة إلى تظليل المسارات الأخرى.
التوجيه القائم على الملف
الطريق هو ملف. عنوان URL هو المسار الخاص به ضمن src/routes/، بدون الامتداد. مثل Next.js، يكون المشروع في أحد الوضعين، ويتم اختيارهما باستخدام useCSR:
useCSR = False (افتراضي) |
useCSR = True |
|
|---|---|---|
| الصفحات | .nexy، .md، .mdx |
ملفات إطار العميل الخاص بك |
| تخطيط الجذر | layout.nexy |
layout.tsx (React) |
| مكونات العميل | مسموح به، كجزر داخل الصفحات | الصفحات نفسها |
| مسارات واجهة برمجة التطبيقات | .py |
.py |
انظر وضع الخادم ووضع العميل.
| القسم | ما يغطيه |
|---|---|
| فبر/صفحات | الصفحات والمسارات الديناميكية ومجموعات المسار |
| fbr/التخطيطات | layout.nexy، layout.tsx، layout.vue، layout.svelte |
| fbr/معالجات | .py معالجات المسار، التحقق من الصحة والأخطاء |
| fbr/التبعيات | dependencies.py والحراس، ورثوا بالدليل |
| fbr/البرمجيات الوسيطة | middleware.py، ورث بالدليل |
| fbr/الأخطاء | notfound.nexy، errors.nexy، أخطاء JSON |
| fbr/الملاحة | الارتباط، تنقل العميل، الخطافات |
| fbr/الوقت الحقيقي | WebSocket المعالجون |
| فبر / الميراث | كيف ترث التخطيطات والتبعيات وصفحات الخطأ |
التوجيه المعياري
وحدات التحكم والوحدات النمطية وحقن التبعية بأسلوب NestJS. انظر [التوجيه المعياري و Nexy و NestJS.
| القسم | ما يغطيه |
|---|---|
| وحدات | @Controller، @Module، الواردات والصادرات |
| حقن وحدات / التبعية | @Injectable والمناظير والحاويات |
| وحدات/الحراس والبيانات الوصفية | @UseGuard، @UseResponse والبيانات الوصفية OpenAPI |
تقوم وحدة التحكم بإرجاع عرض .nexy مع useViews، وتمريره إلى تخطيطها يدويًا: لا يوجد layout.nexy يتم تطبيقه بواسطة المجلد.
التكامل المخصص
يمكنك أيضًا دمج جهاز توجيه FastAPI موجود في مشروع Nexy الخاص بك. راجع تكامل التوجيه المخصص.