दस्तावेज़मॉडल को समझें
रूटिंग
नेक्सी के दो देशी राउटर हैं। आप प्रति सुविधा एक चुन सकते हैं; वे एक ही एप्लिकेशन में सह-अस्तित्व में रह सकते हैं।
निश्चित नहीं? फ़ाइल-आधारित रूटिंग का उपयोग करें। यह बिना किसी सेटअप के पेजों और एपीआई एंडपॉइंट्स को कवर करता है। जब बैकएंड को नियंत्रकों, इंजेक्टेड सेवाओं या गार्ड की आवश्यकता हो तो मॉड्यूलर राउटर जोड़ें।
| आप निर्माण कर रहे हैं | उपयोग करें |
|---|---|
| पेज, सामग्री, कुछ अंतिम बिंदुओं वाली साइट | फ़ाइल आधारित |
| सभी मार्गों पर साझा की जाने वाली सेवाओं के साथ एक बड़ी एपीआई | मॉड्यूलर |
| दोनों: लोगों के लिए पेज, मशीनों के लिए एक संरचित एपीआई | फ़ाइल-आधारित और मॉड्यूलर एक साथ |
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| राउटर | स्रोत | द्वारा सक्षम |
|---|---|---|
| फ़ाइल-आधारित (एफबीआर) | src/routes/ के अंतर्गत प्रत्येक फ़ाइल |
निर्देशिका मौजूद है |
| मॉड्यूलर | नियंत्रक और मॉड्यूल | useRouter = AppModule में nexyconfig.py |
जब भी src/routes/ मौजूद होता है तो एफबीआर को स्कैन किया जाता है, यहां तक कि मॉड्यूलर राउटर पर भी।
सह-अस्तित्व और प्राथमिकताएँ
आप एफबीआर, मॉड्यूलर और कस्टम एकीकरण को जोड़ सकते हैं। नेक्सी इन मार्गों को उनके खोजे जाने के क्रम में पंजीकृत करता है। यदि दो राउटर एक ही यूआरएल पथ को परिभाषित करते हैं, तो पहला पंजीकृत जीतता है।
नोट: नेक्सी वर्तमान में यूआरएल टकराव के लिए निदान प्रदान नहीं करता है; किसी पथ पर दावा करने का पहला मार्ग बस दूसरों को छाया देता है।
फ़ाइल-आधारित रूटिंग
रूट एक फ़ाइल है. URL src/routes/ के अंतर्गत इसका पथ है, एक्सटेंशन को घटाकर। Next.js की तरह, एक प्रोजेक्ट दो मोड में से एक में होता है, जिसे useCSR के साथ चुना जाता है:
useCSR = False (डिफ़ॉल्ट) |
useCSR = True |
|
|---|---|---|
| पन्ने | .nexy, .md, .mdx |
आपके क्लाइंट फ्रेमवर्क की फ़ाइलें |
| रूट लेआउट | layout.nexy |
layout.tsx (React) |
| ग्राहक घटक | पृष्ठों के अंदर द्वीपों के रूप में अनुमति दी गई है | पन्ने स्वयं |
| एपीआई मार्ग | .py |
.py |
सर्वर मोड और क्लाइंट मोड देखें।
| धारा | इसमें क्या शामिल है |
|---|---|
| एफबीआर/पेज | पृष्ठ, गतिशील मार्ग और मार्ग समूह |
| एफबीआर/लेआउट्स | layout.nexy, layout.tsx, layout.vue, layout.svelte |
| एफबीआर/हैंडलर | .py रूट हैंडलर, सत्यापन और त्रुटियां |
| एफबीआर/निर्भरताएं | dependencies.py और गार्ड, निर्देशिका द्वारा विरासत में मिले |
| एफबीआर/मिडलवेयर | middleware.py, निर्देशिका द्वारा विरासत में मिला |
| एफबीआर/त्रुटियाँ | notfound.nexy, errors.nexy, JSON त्रुटियाँ |
| एफबीआर/नेविगेशन | लिंक करना, क्लाइंट नेविगेशन, हुक |
| एफबीआर/रीयलटाइम | WebSocket संचालक |
| एफबीआर/विरासत | लेआउट, निर्भरताएँ और त्रुटि पृष्ठ कैसे प्राप्त होते हैं |
मॉड्यूलर रूटिंग
नियंत्रक, मॉड्यूल और निर्भरता इंजेक्शन, NestJS की शैली में। मॉड्यूलर रूटिंग और नेक्सी और NestJS देखें।
| धारा | इसमें क्या शामिल है |
|---|---|
| मॉड्यूलर | @Controller, @Module, आयात और निर्यात |
| मॉड्यूलर/निर्भरता-इंजेक्शन | @Injectable, स्कोप और कंटेनर |
| मॉड्यूलर/गार्ड-और-मेटाडेटा | @UseGuard, @UseResponse और OpenAPI मेटाडेटा |
एक नियंत्रक useViews के साथ एक .nexy दृश्य लौटाता है, और इसे हाथ से इसके लेआउट में भेजता है: फ़ोल्डर द्वारा कोई layout.nexy लागू नहीं किया जाता है।
कस्टम एकीकरण
आप अपने नेक्सी प्रोजेक्ट में मौजूदा FastAPI राउटर को भी एकीकृत कर सकते हैं। कस्टम रूटिंग एकीकरण देखें।