दस्तावेज़फ़ाइल कन्वेंशन
फ़ाइल कन्वेंशन
src/routes/ के अंतर्गत आरक्षित नाम और नियम।
फ़ाइलें रूट करें
| फ़ाइल | बन जाता है |
|---|---|
index.nexy, index.md, index.mdx, index.py |
इसकी निर्देशिका का मार्ग |
about.nexy |
/about |
[slug].nexy |
गतिशील खंड {slug} |
[...path].nexy |
सब पकड़ो {path:path} |
(group)/page.nexy |
/page: समूह यूआरएल में दिखाई नहीं देता है |
name.py |
एपीआई हैंडलर; फ़ंक्शन नाम GET, POST, ... विधियां हैं |
name.tsx, .jsx, .vue, .svelte |
जब फ़्रेमवर्क को useFF के साथ सक्षम किया जाता है तो क्लाइंट रूट |
src/routes/
index.nexy/
about.nexy/about
(marketing)/
pricing.nexy/pricing
blog/
index.md/blog
[slug].nexy/blog/{slug}
docs/
[...path].nexy/docs/{path:path}
api/
users.pyGET /api/users, POST /api/users
async def GET(): return {"users": []} async def POST(): return {"created": True}आरक्षित फ़ाइलें
| फ़ाइल | भूमिका | विवरण |
|---|---|---|
layout.nexy |
सर्वर मोड: इसके नीचे प्रत्येक पृष्ठ को लपेटता है; रूट वाला HTML दस्तावेज़ का स्वामी है | लेआउट.नेक्सी |
layout.tsx |
क्लाइंट मोड (React): रूट वाले के पास HTML दस्तावेज़ होता है, नेस्टेड वाले पेजों को लपेटते हैं | लेआउट.tsx |
layout.vue, layout.svelte |
क्लाइंट मोड: नेस्टेड लेआउट | लेआउट.व्यू, लेआउट.स्वेल्ट |
notfound.nexy |
इसकी निर्देशिका के लिए 404 पेज | त्रुटि पृष्ठ |
errors.nexy |
इसकी निर्देशिका के लिए 500 पेज | त्रुटि पृष्ठ |
forbidden.nexy |
इसकी निर्देशिका के लिए 403 पेज | प्रति फ़ोल्डर त्रुटि पृष्ठ |
unauthorized.nexy |
इसकी निर्देशिका के लिए 401 पृष्ठ | प्रति फ़ोल्डर त्रुटि पृष्ठ |
loading.nexy |
आरक्षित; अभी तक कोई रनटाइम प्रभाव नहीं है | त्रुटि पृष्ठ |
middleware.py |
एक async def middleware(request, call_next) निर्देशिका और नीचे के अनुरोधों को लपेटते हुए |
मिडलवेयर फ़ाइलें |
dependencies.py |
एक dependencies = [fn, ...] सूची निर्देशिका और उसके बच्चों पर लागू होती है |
निर्भरताएँ |
__init__.py |
Python पैकेज मार्कर | |
favicon.ico |
/favicon.ico में सेवा दी गई |
useLayoutExtensions, useNotFoundExtensions, useErrorsExtensions, useForbiddenExtensions, useUnauthorizedExtensions और useLoadingExtensions इन नामों के लिए अधिक एक्सटेंशन आरक्षित करते हैं। कॉन्फिग देखें।
तालिका की दो Python फ़ाइलें, एक फ़ोल्डर में साथ-साथ:
from nexy.http import Request async def middleware(request: Request, call_next): response = await call_next(request) response.headers["x-admin"] = "1" return responsefrom nexy.http import Header, HTTPException def require_admin(x_role: str = Header(...)) -> None: if x_role != "admin": raise HTTPException(status_code=403, detail="Admins only") dependencies = [require_admin]और एक पृष्ठ जो इसके फ़ोल्डर के 404 का उत्तर देता है:
<h1>Page not found</h1><p><a href="/">Back home</a></p>उपेक्षित फ़ाइलें
_या.से शुरू होने वाली फ़ाइल या फ़ोल्डर: इसे आंशिक, ड्राफ्ट और सहायकों के लिए उपयोग करें।- एक फ़ाइल जिसका एक्सटेंशन प्रोजेक्ट के लिए सक्रिय नहीं है: इसे एक चेतावनी के साथ छोड़ दिया जाता है।
src/routes/
index.nexy/
_card.nexyignored: a partial the pages include
_helpers/ignored, with everything inside
format.py
.draft.nexyignored: a draft
प्रति यूआरएल एक फ़ाइल
दो फ़ाइलें जो समान URL पर हल होती हैं, दोनों पंजीकृत होती हैं। blog.nexy को blog/index.nexy के आगे न रखें।
src/routes/
blog.nexy/blog
blog/
index.nexy/blog as well: keep only one of the two
बाहर src/routes/
| फ़ोल्डर | प्रयोजन |
|---|---|
src/components/ |
पृष्ठों द्वारा आयातित घटक; कभी मार्ग नहीं |
src/apps/ |
मॉड्यूलर राउटर के नियंत्रक और मॉड्यूल |
public/ |
स्थिर फ़ाइलें, रूट पर दी गई: public/logo.svg /logo.svg है (/public/ के अंतर्गत भी) |
__nexy__/ |
उत्पन्न आउटपुट; प्रतिबद्ध मत हो |
my-app/
nexyconfig.py
public/
logo.svg/logo.svg
src/
routes/the routes
components/
Counter.tsximported by pages, never served on its own
apps/the modular router, when you use it
__nexy__/generated: add it to .gitignore