الوثائقوسائط
التقديم
العرض يجيب على سؤال واحد: من يقوم بإنتاج HTML، ومتى. لدى Nexy أربع إجابات وافتراضي واحد.
لست متأكدا؟ احتفظ بـ SSR. قم بتغيير الصفحة فقط عندما يمكنك تسمية السبب: المحتوى الذي نادرًا ما يتغير (ISR)، أو عنصر واجهة المستخدم الذي يحتاج إلى المتصفح (الجزيرة)، أو التنقل الشبيه بالتطبيق (CSR).
كيف يعمل
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 على المكون |
| الحبوب | الصفحة | الصفحة | المشروع | مكون |
تقديم دورة الحياة
هناك حقيقتان تفسران معظم المفاجآت.
- المشروع في وضع واحد.
useCSRيختار بين وضع الخادم (SSR، ISR، الجزر،.nexy،.md،.mdxالمسارات) ووضع العميل (مسارات إطار العمل وجهاز توجيه العميل). ولا يمكن الخلط بين الاثنين: انظر وضع الخادم ووضع العميل. - داخل وضع الخادم، يكون الوضع لكل صفحة. يمكن تخزين صفحة واحدة مؤقتًا باستخدام
revalidate، ويمكن لصفحة أخرى الاحتفاظ بجزيرة، ولا يمكن لصفحة ثالثة القيام بأي منهما.
لا يزال وضع العميل يرسل مستندًا حقيقيًا: يعرضه Nexy في Node للاستجابة الأولى، ثم يتولى المتصفح التنقل. صفحة المسؤولية الاجتماعية للشركات ليست صفحة فارغة تنتظر حزمة.
متى تستخدم
- المحتوى والتسويق والتوثيق: SSR، بالإضافة إلى ISR عندما يتغير المحتوى نادرًا.
- صفحة ثابتة في الغالب مع عنصر واجهة مستخدم تفاعلي واحد: SSR مع جزيرة.
- لوحات المعلومات، والمحررين، والتنقل الشبيه بالتطبيقات: المسؤولية الاجتماعية للشركات.
- صفحة تقرأ باستمرار ونادرا ما تتغير: ISR.
التكوين
| الوضع | أين |
|---|---|
| إصلاحية القطاع الخاص | في أي مكان: هذا هو الافتراضي |
| ISR | revalidate = 60 في صدر صفحة .nexy |
| المسؤولية الاجتماعية للشركات | useCSR = True في nexyconfig.py، مع ضبط useFF |
| جزر | directive="client:visible" على علامة المكون |
مثال
revalidate = 60<h1>Rendered at most once per minute</h1>نفس الصفحة بدون السطر الأمامي هي SSR.
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.
- الجزر هي التي ترطب الجزيرة، وليس الصفحة. الصفحة التي تعتمد جميع جزرها على بعضها البعض هي صفحة مقنعة للمسؤولية الاجتماعية للشركات.