الوثائقالخطوات الأولى
بداية سريعة
ستقوم بإنشاء مشروع Nexy وتشغيله ورؤية تغيير الصفحة أثناء تحريره. يستغرق ثلاث دقائق. يضيف البرنامج التعليمي بعد ذلك نقطة نهاية وبناء إنتاج.
قبل أن تبدأ
| أنت بحاجة | لماذا |
|---|---|
| Python 3.12+ | requires-python في pyproject.toml |
| uv | يوفر uvx ويقوم بإنشاء المشروع وتثبيت حزمه |
| Node.js 18+ | فقط إذا كنت تستخدم إطار عمل العميل (React، Vue، Svelte، Solid، Preact) |
لا uv بعد؟ انظر التثبيت.
1. قم بإنشاء المشروع
uvx nexy new my-app
uvx يأتي مع uv، لذا قم بتثبيت uv أولاً. يقوم بتشغيل Nexy في بيئة مؤقتة، وهو ما يكفي لإنشاء المشروع. nexy new ثم يصنع .venv المشروع الخاص به ويثبت حزمه هناك. أربعة مطالبات تقرر الأسلاك:
| موجه | مفعوله |
|---|---|
| جهاز التوجيه القائم على الملف؟ | Yes مسح src/routes/؛ No يدعم جهاز التوجيه المعياري في src/apps/ |
| نوع المشروع | Web يضيف تخطيطًا وأصول العميل، API يبدأ بدون مشاهدات |
| مكون العميل؟ | يضيف إطار العمل وإعداده Vite |
| ORM / قاعدة البيانات | تضيف طبقة نموذج، أو لا شيء |
لست متأكدا؟ الإجابة Yes، Web، ولا يوجد مكون عميل. يمكنك إضافة كل في وقت لاحق.
2. قم بتشغيله
cd my-app.venv\Scripts\activate # Windows; on macOS and Linux: source .venv/bin/activatenexy dev
فتح http://localhost:3000. يجب أن تشاهد صفحة البداية. يأتي المنفذ من usePort (الافتراضي 3000)؛ --port و --host يتجاوزانه في كل مرة.
3. قم بتغيير الصفحة
الملف الموجود تحت src/routes/ هو مسار. إنشاء src/routes/hello.nexy:
title: prop[str] = "Hello"<h1>{{ title }}</h1>تقوم وحدة التحكم بإرجاع طريقة عرض. إنشاء src/apps/hello_view.nexy:
title: prop[str] = "Hello"<h1>{{ title }}</h1>ثم أعلن عن الصفحة في src/apps/app_controller.py وأضفها إلى الوحدة:
@Controller("/hello")class HelloController: async def get(self): return useViews(LAYOUT, context={"children": useViews("src/apps/hello_view.nexy")})from .app_controller import AboutController, AppController, HelloController controllers = [AppController, AboutController, HelloController]فتح http://localhost:3000/hello. غيّر "Hello" إلى "Bonjour" واحفظ: يتم تحديث الصفحة دون إعادة تحميل يدوي. إذا كان الرمز خاطئًا، فسيعرض المتصفح الخطأ بدلاً من صفحة فارغة.
prop[str] يعلن عن خاصية مكتوبة. العلامة الموجودة أسفل المادة الأمامية هي Jinja2 - راجع ملفات .nexy.
أين التالي
| تريد | قراءة |
|---|---|
| أضف نقطة نهاية Python وأرسل البنية | البرنامج التعليمي |
| معرفة أين ينتمي كل ملف | بنية المشروع |
| فهم من يبني ماذا | كيف يعمل Nexy |
| استخدم React، Vue، Svelte، Solid أو Preact | المشاهدات |