ডকুমেন্টেশনমডেল বুঝুন
রাউটিং
Nexy এর দুটি নেটিভ রাউটার রয়েছে। আপনি প্রতি বৈশিষ্ট্য একটি বাছাই করতে পারেন; তারা একই অ্যাপ্লিকেশনে সহাবস্থান করতে পারে।
নিশ্চিত নন? ফাইল-ভিত্তিক ব্যবহার করুন রাউটিং এটি কোনও সেটআপ ছাড়াই পৃষ্ঠা এবং API শেষ পয়েন্টগুলি কভার করে৷ মডুলার রাউটার যোগ করুন যখন ব্যাকএন্ডে কন্ট্রোলার, ইনজেকশন পরিষেবা বা গার্ডের প্রয়োজন হয়।
| আপনি নির্মাণ করছেন | ব্যবহার করুন |
|---|---|
| পৃষ্ঠা, বিষয়বস্তু, কয়েকটি শেষ পয়েন্ট সহ একটি সাইট | ফাইল-ভিত্তিক |
| রুট জুড়ে শেয়ার করা পরিষেবা সহ একটি বড় API | মডুলার |
| উভয়: মানুষের জন্য পৃষ্ঠা, মেশিনের জন্য একটি কাঠামোগত 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 এই রুটগুলিকে সেগুলি যেভাবে আবিষ্কৃত হয় সে অনুযায়ী নিবন্ধন করে৷ যদি দুটি রাউটার একই ইউআরএল পাথ সংজ্ঞায়িত করে, প্রথমটি নিবন্ধিত বিজয়ী হয়।
দ্রষ্টব্য: Nexy বর্তমানে URL সংঘর্ষের জন্য একটি ডায়াগনস্টিক প্রদান করে না; একটি পথ দাবি করার প্রথম পথটি কেবল অন্যদের ছায়া দেয়।
ফাইল-ভিত্তিক রাউটিং
একটি রুট একটি ফাইল. URL হল এর পাথ src/routes/ এর অধীনে, বিয়োগ এক্সটেনশন। Next.js এর মতো, একটি প্রকল্প দুটি মোডের একটিতে, useCSR এর সাথে নির্বাচিত:
useCSR = False (ডিফল্ট) |
useCSR = True |
|
|---|---|---|
| পাতা | .nexy, .md, .mdx |
আপনার ক্লায়েন্ট ফ্রেমওয়ার্কের ফাইল |
| রুট লেআউট | layout.nexy |
layout.tsx (React) |
| ক্লায়েন্ট উপাদান | অনুমোদিত, পৃষ্ঠার ভিতরে দ্বীপ হিসাবে | পৃষ্ঠাগুলি নিজেরাই |
| API রুট | .py |
.py |
সার্ভার মোড এবং ক্লায়েন্ট মোড দেখুন।
| ধারা | এটা কভার কি |
|---|---|
| fbr/পৃষ্ঠা | পৃষ্ঠা, গতিশীল রুট এবং রুট গ্রুপ |
| 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/realtime | WebSocket হ্যান্ডলার |
| fbr/উত্তরাধিকার | কিভাবে লেআউট, নির্ভরতা এবং ত্রুটি পৃষ্ঠাগুলি উত্তরাধিকারসূত্রে পাওয়া যায় |
মডুলার রাউটিং
কন্ট্রোলার, মডিউল এবং নির্ভরতা ইনজেকশন, এর স্টাইলে NestJS। মডুলার রাউটিং এবং Nexy এবং NestJS দেখুন।
| ধারা | এটা কভার কি |
|---|---|
| মডুলার | @Controller, @Module, আমদানি ও রপ্তানি |
| মডুলার/নির্ভরতা-ইনজেকশন | @Injectable, স্কোপ এবং ধারক |
| মডুলার/গার্ডস-এন্ড-মেটাডেটা | @UseGuard, @UseResponse এবং OpenAPI মেটাডেটা |
একটি কন্ট্রোলার একটি .nexy ভিউ useViews দিয়ে ফেরত দেয়, এবং এটিকে তার লেআউটে হাত দিয়ে পাস করে: ফোল্ডার দ্বারা কোন layout.nexy প্রয়োগ করা হয় না।
কাস্টম ইন্টিগ্রেশন
আপনি আপনার Nexy প্রজেক্টে একটি বিদ্যমান FastAPI রাউটারও সংহত করতে পারেন। কাস্টম রাউটিং ইন্টিগ্রেশন দেখুন।