الوثائقوسائط

التقديم

العرض يجيب على سؤال واحد: من يقوم بإنتاج HTML، ومتى. لدى Nexy أربع إجابات وافتراضي واحد.

لست متأكدا؟ احتفظ بـ SSR. قم بتغيير الصفحة فقط عندما يمكنك تسمية السبب: المحتوى الذي نادرًا ما يتغير (ISR)، أو عنصر واجهة المستخدم الذي يحتاج إلى المتصفح (الجزيرة)، أو التنقل الشبيه بالتطبيق (CSR).

كيف يعمل

من ينتج HTML ومتى
SSRrequestserver rendersHTMLbrowser
ISRrequestcached HTML?browser, regenerated in the background
CSRrequestdocument rendered by the serverbrowser takes over navigation
Islandsrequestserver renders the pageone widget hydrates on demand

الأوضاع الأربعة

إصلاحية القطاع الخاص ISR المسؤولية الاجتماعية للشركات جزر
تتم قراءة البيانات على كل طلب في كل تجديد في المتصفح على كل طلب
HTML يأتي من الخادم الخادم، ثم ذاكرة التخزين المؤقت الخادم للمستند الأول، والمتصفح بعد ذلك الخادم
JavaScript فقط للجزر فقط للجزر حزمة الإطار الجزيرة فقط
الترطيب لا شيء لا شيء الوثيقة بأكملها الجزيرة
ذاكرة التخزين المؤقت لا شيء لكل URL، في الذاكرة لا شيء لا شيء
قررها default revalidate = N في الصفحة useCSR = True في المشروع directive على المكون
الحبوب الصفحة الصفحة المشروع مكون

تقديم دورة الحياة

هناك حقيقتان تفسران معظم المفاجآت.

  1. المشروع في وضع واحد. useCSR يختار بين وضع الخادم (SSR، ISR، الجزر، .nexy، .md، .mdx المسارات) ووضع العميل (مسارات إطار العمل وجهاز توجيه العميل). ولا يمكن الخلط بين الاثنين: انظر وضع الخادم ووضع العميل.
  2. داخل وضع الخادم، يكون الوضع لكل صفحة. يمكن تخزين صفحة واحدة مؤقتًا باستخدام revalidate، ويمكن لصفحة أخرى الاحتفاظ بجزيرة، ولا يمكن لصفحة ثالثة القيام بأي منهما.

لا يزال وضع العميل يرسل مستندًا حقيقيًا: يعرضه Nexy في Node للاستجابة الأولى، ثم يتولى المتصفح التنقل. صفحة المسؤولية الاجتماعية للشركات ليست صفحة فارغة تنتظر حزمة.

متى تستخدم

  • المحتوى والتسويق والتوثيق: SSR، بالإضافة إلى ISR عندما يتغير المحتوى نادرًا.
  • صفحة ثابتة في الغالب مع عنصر واجهة مستخدم تفاعلي واحد: SSR مع جزيرة.
  • لوحات المعلومات، والمحررين، والتنقل الشبيه بالتطبيقات: المسؤولية الاجتماعية للشركات.
  • صفحة تقرأ باستمرار ونادرا ما تتغير: ISR.

التكوين

الوضع أين
إصلاحية القطاع الخاص في أي مكان: هذا هو الافتراضي
ISR revalidate = 60 في صدر صفحة .nexy
المسؤولية الاجتماعية للشركات useCSR = True في nexyconfig.py، مع ضبط useFF
جزر directive="client:visible" على علامة المكون

مثال

src/routes/blog/index.nexy
---revalidate = 60---<h1>Rendered at most once per minute</h1>

نفس الصفحة بدون السطر الأمامي هي SSR.

src/apps/sales_view.nexy
---from "@/components/Chart.tsx" import Chart---<h1>Rendered on every request</h1><Chart directive="client:visible" />

العرض هو SSR، والمخطط عبارة عن جزيرة يتم ترطيبها عند التمرير إلى العرض.

القيود

  • لا يوجد وضع SSG. يقوم Nexy بعرض HTML مسبقًا في وقت الإنشاء (HTML المكون، مستندات العميل)، ولكنه يقرأها دائمًا مرة أخرى من خلال الخادم: لا يوجد أمر تصدير، ولا يوجد مجلد مستقل لاستضافته بشكل ثابت. بالنسبة للمحتوى المجمد، استخدم ISR مع نافذة طويلة.
  • ISR ليس CDN. توجد ذاكرة التخزين المؤقت في العملية التي تعرض الصفحة؛ يحتفظ العديد من العمال بالعديد من المخابئ. انظر ISR.
  • المسؤولية الاجتماعية للشركات هي قرار مشروع. لا يمكنك إنشاء صفحة واحدة للمسؤولية الاجتماعية للشركات والاحتفاظ بالباقي SSR.
  • الجزر هي التي ترطب الجزيرة، وليس الصفحة. الصفحة التي تعتمد جميع جزرها على بعضها البعض هي صفحة مقنعة للمسؤولية الاجتماعية للشركات.

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

  • SSR: الافتراضي
  • ISR: قم بتخزين صفحة لكل عنوان URL
  • CSR: التنقل اليدوي إلى المتصفح
  • الجزر: هيدرات قطعة واحدة
  • الأداء

حرِّر على GitHub

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