دستاویزاتماڈل کو سمجھیں۔
پروجیکٹ کا ڈھانچہ
Nexy پروجیکٹ میں ہر فائل کا ایک کام ہوتا ہے، اور یہ کہاں جاتی ہے اس کا انحصار راؤٹر پر ہوتا ہے: src/routes/ فائل پر مبنی روٹنگ کے لیے، src/apps/ ماڈیولر روٹر کے لیے۔
ٹاپ لیول
nexy new)فولڈر کا انتخاب کرنے کے لیے پوچھیں کہ فائل کیا ہے:
- کوئی چیز جسے براؤزر کھول سکتا ہے - ایک راستہ:
src/routes/۔ - ایک ٹکڑا جو کئی راستوں سے استعمال ہوتا ہے - ایک جزو یا ماڈیول:
src/components/،src/۔ - ایک فائل پیش کی گئی جیسا کہ یہ ہے -
public/۔ - پیدا کردہ -
__nexy__/؛ کبھی اس میں ترمیم نہ کریں
nexy new)فولڈر کا انتخاب کرنے کے لیے پوچھیں کہ فائل کیا ہے:
- یو آر ایل -
src/apps/میں کنٹرولر کا ایک طریقہ، اس کے ماڈیول کے ذریعے رجسٹرڈ۔ - ایک صفحہ - اس کے کنٹرولر کے ساتھ ایک
.nexyمنظر،useViewsکے ساتھ واپس آیا۔ - ایک ٹکڑا جو متعدد آراء سے استعمال ہوتا ہے -
src/components/۔ - ایک فائل پیش کی گئی جیسا کہ یہ ہے -
public/۔ - پیدا کردہ -
__nexy__/؛ کبھی اس میں ترمیم نہ کریں
nexy new)فولڈر کا انتخاب کرنے کے لیے پوچھیں کہ فائل کیا ہے:
- شامل ایپ کا روٹ - جہاں یہ پہلے سے موجود ہے، یہاں
src/legacy/۔ - ایک نیا صفحہ یا راستہ -
src/routes/، شامل روٹر کے ساتھ۔ - ایک فائل پیش کی گئی جیسا کہ یہ ہے -
public/۔ - پیدا کردہ -
__nexy__/؛ کبھی اس میں ترمیم نہ کریں
src/routes/
ہر فائل ایک راستہ بن جاتی ہے، سوائے ذیل کے محفوظ ناموں کے۔ فائل پاتھ مائنس ایکسٹینشن یو آر ایل ہے - دیکھیں فائل پر مبنی روٹنگ۔
| فائل | کردار |
|---|---|
layout.nexy |
بہن بھائی اور بچوں کے صفحات کو لپیٹتا ہے۔ |
errors.nexy |
ڈائریکٹری کے لیے 500 صفحہ |
notfound.nexy |
ڈائریکٹری کے لیے 404 صفحہ |
dependencies.py |
ڈائریکٹری کے لیے اشتراک کردہ FastAPI انحصار |
__init__.py |
Python پیکیج مارکر |
loading.nexy |
reserved - راستوں سے خارج، لیکن ابھی تک اس کا کوئی رن ٹائم اثر نہیں ہے۔ |
ہر صفحہ کا نام بھی فی فریم ورک موجود ہے۔ react() کنفیگر ہونے کے ساتھ، layout.jsx اور layout.tsx بالکل layout.nexy کی طرح محفوظ ہیں۔ فہرستیں nexy/core/config.py (LAYOUT_FILE_NAMES، ERROR_FILE_NAMES، NOTFOUND_FILE_NAMES، LOADING_FILE_NAMES) میں بنائی گئی ہیں۔
src/apps/
ایک کنٹرولر یو آر ایل کا جواب دیتا ہے، ایک ماڈیول گروپ کنٹرولرز اور فراہم کنندگان، اور روٹ ماڈیول useRouter کے ساتھ nexyconfig.py میں نصب ہوتا ہے:
from nexy.decorators import Controllerfrom nexy.hooks import useViews LAYOUT = "src/apps/layout.nexy" @Controller()class AppController: async def get(self): return useViews(LAYOUT, context={"children": useViews("src/apps/app_view.nexy")})from nexy.decorators import Module from .app_controller import AppController @Module()class AppModule: controllers = [AppController]from nexy.core.models import NexyConfigModel from src.apps.app_module import AppModule class NexyConfig(NexyConfigModel): useRouter = AppModule useAliases = {"@": "src"} # the views import @/components/...src/apps/ میں کوئی فائل اس کے نام سے روٹ نہیں ہے: صرف کنٹرولرز ایک ماڈیول جواب دیتا ہے۔ دیکھیں ماڈیولر روٹنگ۔
public/
یہاں فائلیں سائٹ روٹ سے پیش کی جاتی ہیں: /favicon.ico، /robots.txt، تصاویر، فونٹس۔
__nexy__/
nx build (اور nx dev کے ذریعہ اس کی ضرورت کے حصوں کے لئے) کے ذریعہ تیار کردہ۔ اس میں شامل ہیں:
- مرتب کردہ
.nexyفائلیں، بطور Python پیکیج (__nexy__/src/...)؛ - پیدا کردہ کلائنٹ کے اندراج پوائنٹس (
main.ts،vite.ts،*.auto.ts؛ client/ایک Vite تعمیر کے بعد - اثاثے، ظاہر، پہلے سے پیش کردہ HTML؛build-cache.json۔
پوری ڈائرکٹری کو ڈسپوزایبل سمجھیں: اسے حذف کریں، اسے دوبارہ بنائیں۔ ہاتھ سے اس میں ترمیم کرنے سے اگلی تعمیر میں تبدیلی ختم ہوجاتی ہے۔ اسے .gitignore میں شامل کریں۔
اگلے اقدامات
- فائل پر مبنی روٹنگ: راستہ یو آر ایل کیسے بنتا ہے۔
- ماڈیولر روٹنگ: کنٹرولرز، ماڈیولز اور فراہم کرنے والے
- حسب ضرورت روٹنگ: ایک موجودہ FastAPI روٹر شامل کریں۔