الوثائقالقائم على الملف

التخطيطات

يقوم التخطيط بتغليف كل صفحة أسفل الدليل الخاص بها. تداخل التخطيطات: يتم عرض الصفحة داخل تخطيط الدليل الخاص بها، والذي يتم عرضه داخل تخطيط الدليل الأصلي، حتى التخطيط الجذر.

توجد صفحة واحدة لكل نوع ملف تخطيط:

الملف الوضع يمتلك مستند HTML الصفحة
layout.nexy الخادم (useCSR = False) نعم، في الجذر layout.nexy
layout.tsx العميل (useCSR = True) نعم، في الجذر (React، Solid، Preact) React ، Solid ، Preact
layout.vue العميل نعم، في الجذر layout.vue
layout.svelte العميل نعم، في الجذر layout.svelte

يستخدم المشروع عائلة واحدة. لا يمكن أن يعيش layout.nexy و layout.tsx في نفس المشروع: وضع الخادم يحتوي على .nexy تخطيطات ووضع العميل يحتوي على تخطيطات إطار عمل. انظر وضع الخادم ووضع العميل.

كيف يتولى المتصفح الوثيقة

في وضع العميل، يعرض Nexy التخطيط الجذري في Node، وبالتالي فإن الاستجابة الأولى تكون مستندًا كاملاً. ثم يتولى المتصفح الأمر بإحدى طريقتين:

الإطار الاستحواذ ماذا يعني
React، Solid ترطيب للوثيقة بأكملها تتم إعادة استخدام HTML للخادم كما هو
Preact، Vue، Svelte الاستيلاء على الجسم يبني إطار العمل نص الصفحة ويستبدله بالنص الذي أرسله الخادم

Preact، Vue و Svelte لا يمكنهم ترطيب مستند كامل: Preact يقوم hydrate ببناء عنصر <html> ثاني، ويقوم مترجم Vue بإسقاط <script> من قالب عميل، ولا يمكن لـ Svelte إنشاء <html>، <head> أو <body> في المتصفح. فبالنسبة لهم <html>، <head> و <body> السمات هي التي أرسلها الخادم، ولا يتم بناء الجسم إلا بواسطة المتصفح. في الممارسة العملية:

  • ضع العنوان والعلامات الوصفية والخطوط والبرنامج النصي للموضوع في تخطيط الجذر: يتم عرضها بواسطة الخادم وتظل كما هي.
  • يتم تطبيق الارتباط على <html> أو <head> أو <body> (على سبيل المثال فئة تفاعلية) بواسطة الخادم ولكن لا يتم تحديثه في المتصفح. قم بتغييرها من برنامج نصي، كما يفعل البرنامج النصي للموضوع.
  • يعرض المتصفح النص من البداية بدلاً من إعادة استخدام ترميز الخادم، بحيث يتم استبدال النص مرة واحدة، في نفس مهمة العرض الأول.

تخطيط الجذر

تخطيط الجذر هو src/routes/layout.<ext>. وهو منشأ بـ nx new وهو الموضع الوحيد الذي يكتب <!DOCTYPE html> و <html> و <head> و <body> (كل إطار و .nexy). الصفحات والتخطيطات المتداخلة لا تتكرر أبدًا.

src/routes/
layout.*root: the document
index.*
dashboard/
layout.*nested: UI only
index.*
settings.*

dashboard/index يصبح root layout > dashboard layout > page.

مجموعات الطريق

يمكن أن يكون للدليل الموجود بين قوسين تخطيط خاص به دون تغيير عناوين URL:

src/routes/
layout.nexy
(marketing)/
layout.nexywraps /pricing and /about only
pricing.nexy
about.nexy
(app)/
dashboard.nexyonly the root layout

المثابرة

في وضع العميل، يظل التخطيط مثبتًا أثناء تنقل المستخدم بين الصفحات التي تشاركه: يتم الاحتفاظ بـ DOM الخاص به وحالته وموضع التمرير. في وضع الخادم، كل تنقل هو مستند جديد.

الخطوات التالية

حرِّر على GitHub

Enter يفتح النتيجة، وEsc يغلق.