الوثائقفهم النموذج
هيكل المشروع
كل ملف في مشروع Nexy له وظيفة واحدة، ويعتمد مكان انتقاله على جهاز التوجيه: src/routes/ للتوجيه المستند إلى الملف، src/apps/ لجهاز التوجيه المعياري.
المستوى الأعلى
nexy new)لاختيار مجلد، اسأل ما هو الملف:
- شيء يمكن للمتصفح فتحه - طريق:
src/routes/. - قطعة تستخدم بعدة طرق - مكون أو وحدة نمطية:
src/components/،src/. - ملف قدم كما هو -
public/. - تم إنشاؤه -
__nexy__/; لا تقم بتحريره أبدًا.
nexy new)لاختيار مجلد، اسأل ما هو الملف:
- عنوان URL - طريقة وحدة التحكم في
src/apps/، المسجلة بواسطة الوحدة النمطية الخاصة بها. - صفحة - عرض
.nexyبجوار وحدة التحكم الخاصة بها، تم إرجاعها بـuseViews. - قطعة تستخدم بعدة وجهات نظر -
src/components/. - ملف قدم كما هو -
public/. - تم إنشاؤه -
__nexy__/; لا تقم بتحريره أبدًا.
nexy new)لاختيار مجلد، اسأل ما هو الملف:
- مسار التطبيق المضمن - حيث هو موجود بالفعل، هنا
src/legacy/. - صفحة أو مسار جديد -
src/routes/، بجوار جهاز التوجيه المتضمن. - ملف قدم كما هو -
public/. - تم إنشاؤه -
__nexy__/; لا تقم بتحريره أبدًا.
src/routes/
يصبح كل ملف مسارًا، باستثناء الأسماء المحجوزة أدناه. مسار الملف مطروحًا منه الامتداد هو عنوان URL - راجع التوجيه المستند إلى الملف.
| ملف | الدور |
|---|---|
layout.nexy |
يلتف صفحات الأخوة والأبناء |
errors.nexy |
500 صفحة للدليل |
notfound.nexy |
404 صفحة للدليل |
dependencies.py |
تبعيات FastAPI مشتركة للدليل |
__init__.py |
Python علامة الحزمة |
loading.nexy |
محجوز - مستبعد من المسارات، ولكن ليس له تأثير وقت التشغيل حتى الآن |
كل اسم صفحة موجود أيضًا لكل إطار عمل. مع تكوين 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/
تجيب وحدة التحكم على عناوين URL، وتجمع الوحدة وحدات التحكم والموفرين، ويتم تركيب الوحدة الجذرية مع 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.
الخطوات التالية
- التوجيه المستند إلى الملف: كيف يصبح المسار عنوان URL
- التوجيه المعياري: وحدات التحكم والوحدات والموفرين
- التوجيه المخصص: يتضمن جهاز توجيه موجود FastAPI
- التكوين : كل خيار المشروع
- الواجهة الأمامية: Vite والتصميم وبناء العميل