दस्तावेज़फ़ाइल-आधारित

फ़ाइल-आधारित रूटिंग

रूट एक फ़ाइल है. URL, एक्सटेंशन को घटाकर, src/routes/ से संबंधित फ़ाइल पथ है।

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 अपनी निर्देशिका में मैप करता है, /index में नहीं। कोष्ठक में एक निर्देशिका एक समूह है: यह यूआरएल में दिखाई दिए बिना फाइलों को व्यवस्थित करती है।

क्लाइंट मोड में पेज फ़ाइलें .nexy के बजाय .tsx, .vue या .svelte हैं; यूआरएल नियम समान हैं.

उस तालिका की दो फ़ाइलें: एक पृष्ठ जो उसके खंड को पढ़ता है, और एक हैंडलर जो JSON का उत्तर देता है।

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

दो मोड

useCSR तय करता है कि पेज कौन से हैं। दोनों को एक प्रोजेक्ट में मिश्रित नहीं किया जा सकता: जब सर्वर पेज क्लाइंट रूट के बगल में बैठता है तो नेक्सी शुरू करने से इंकार कर देता है।

मोड पन्ने रूट लेआउट देखिये
सर्वर (useCSR = False) .nexy, .md, .mdx layout.nexy सर्वर मोड और क्लाइंट मोड
ग्राहक (useCSR = True) रूपरेखा फ़ाइलें layout.tsx लेआउट.tsx

.py फ़ाइलें दोनों मोड में एपीआई हैंडलर हैं।

स्विच 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

जो मार्ग नहीं है

  • आरक्षित फ़ाइल नाम: layout.*, loading.nexy, errors.nexy, notfound.nexy, dependencies.py, middleware.py, __init__.py।
  • _ या . से शुरू होने वाली फ़ाइलें और फ़ोल्डर्स: उन्हें आंशिक और ड्राफ्ट के लिए उपयोग करें।
  • वे एक्सटेंशन जो आपके प्रोजेक्ट के लिए सक्रिय नहीं हैं. एक फ़ाइल जिसका एक्सटेंशन निष्क्रिय है उसे एक चेतावनी के साथ छोड़ दिया जाता है।
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

प्रति यूआरएल एक फ़ाइल

दो फ़ाइलें जो समान URL पर हल होती हैं, दोनों पंजीकृत होती हैं। blog/index.nexy के आगे blog.nexy न बनाएं, और एक ही पथ के लिए index.nexy और index.py को न मिलाएं। एक चुनें.

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

इस अनुभाग में

फ़ोल्डर इसमें क्या शामिल है
पेज/ पृष्ठ, गतिशील मार्ग, मार्ग समूह
लेआउट/ प्रति लेआउट फ़ाइल प्रकार एक पृष्ठ
संचालक/ .py हैंडलर, सत्यापन और त्रुटियां
निर्भरता/ dependencies.py, रक्षक
मिडलवेयर/ middleware.py
त्रुटियाँ/ नहीं मिला और त्रुटि पृष्ठ
नेविगेशन/ लिंक, हुक
वास्तविक समय/ WebSocket
विरासत एक तालिका में वंशानुक्रम नियम

अगले चरण

GitHub पर संपादित करें

Enter परिणाम खोलता है, Esc बंद करता है।