دستاویزاتموڈز
رینڈرنگ
رینڈرنگ ایک سوال کا جواب دیتا ہے: کون HTML تیار کرتا ہے، اور کب۔ Nexy کے پاس چار جوابات اور ایک ڈیفالٹ ہے۔
یقین نہیں ہے؟ رکھو ایس ایس آر کسی صفحہ کو تبھی تبدیل کریں جب آپ وجہ بتا سکیں: مواد جو شاذ و نادر ہی تبدیل ہوتا ہے (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
چار موڈ
| ایس ایس آر | آئی ایس آر | سی ایس آر | جزائر | |
|---|---|---|---|---|
| ڈیٹا پڑھا جاتا ہے۔ | ہر درخواست پر | ہر تخلیق نو پر | براؤزر میں | ہر درخواست پر |
| HTML سے آتا ہے | سرور | سرور، پھر ایک کیش | پہلی دستاویز کے لیے سرور، بعد میں براؤزر | سرور |
| JavaScript | صرف جزائر کے لیے | صرف جزائر کے لیے | فریم ورک بنڈل | صرف جزیرہ |
| ہائیڈریشن | کوئی نہیں | کوئی نہیں | پوری دستاویز | جزیرہ |
| کیشے | کوئی نہیں | فی یو آر ایل، میموری میں | کوئی نہیں | کوئی نہیں |
| کی طرف سے فیصلہ کیا | پہلے سے طے شدہ | صفحہ میں revalidate = N |
منصوبے میں useCSR = True |
directive جزو پر |
| اناج | صفحہ | صفحہ | پروجیکٹ | جزو |
رینڈرنگ لائف سائیکل
دو حقائق سب سے زیادہ حیرت کی وضاحت کرتے ہیں۔
- ایک پروجیکٹ ایک میں ہے۔ موڈ
useCSRسرور موڈ (SSR، ISR، جزائر،.nexy،.md،.mdxروٹس) اور کلائنٹ موڈ (فریم ورک روٹس اور کلائنٹ روٹر) کے درمیان انتخاب کرتا ہے۔ دونوں کو ملایا نہیں جا سکتا: دیکھیں سرور موڈ اور کلائنٹ موڈ۔ - سرور موڈ کے اندر، موڈ فی ہے صفحہ ایک صفحہ
revalidateکے ساتھ محفوظ کیا جا سکتا ہے، دوسرا جزیرہ پکڑ سکتا ہے، تیسرا ایسا نہیں کر سکتا۔
کلائنٹ موڈ اب بھی ایک حقیقی دستاویز بھیجتا ہے: Nexy اسے پہلے جواب کے لیے نوڈ میں پیش کرتا ہے، پھر براؤزر نیویگیشن سنبھال لیتا ہے۔ CSR صفحہ ایک خالی صفحہ نہیں ہے جو بنڈل کا انتظار کر رہا ہے۔
کب استعمال کرنا ہے۔
- مواد، مارکیٹنگ، دستاویزات: SSR، علاوہ ISR جب مواد شاذ و نادر ہی تبدیل ہوتا ہے۔
- ایک انٹرایکٹو ویجیٹ کے ساتھ زیادہ تر جامد صفحہ: ایک جزیرے کے ساتھ SSR۔
- ڈیش بورڈز، ایڈیٹرز، ایپ نما نیویگیشن: CSR۔
- ایک صفحہ مسلسل پڑھا جاتا ہے اور شاذ و نادر ہی تبدیل ہوتا ہے: 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 ہے، اور چارٹ ایک جزیرہ ہے جو اسکرول کرتے وقت ہائیڈریٹ ہوتا ہے۔
حدود
- کوئی ایس ایس جی نہیں ہے۔ موڈ Nexy HTML کو تعمیراتی وقت پر پیش کرتا ہے (جز HTML، کلائنٹ دستاویزات)، لیکن اسے ہمیشہ سرور کے ذریعے پڑھتا ہے: کوئی برآمدی کمانڈ نہیں، مستحکم طور پر میزبانی کرنے کے لیے کوئی اسٹینڈ فولڈر نہیں۔ منجمد مواد کے لیے، ایک لمبی ونڈو کے ساتھ ISR استعمال کریں۔
- آئی ایس آر نہیں ہے۔ سی ڈی این۔ کیشے اس عمل میں رہتا ہے جو صفحہ کو پیش کرتا ہے۔ کئی کارکن کئی کیش رکھتے ہیں۔ دیکھیں ISR۔
- CSR ایک پروجیکٹ ہے۔ فیصلہ آپ ایک صفحہ CSR نہیں بنا سکتے اور باقی SSR رکھ سکتے ہیں۔
- جزائر جزیرے کو ہائیڈریٹ کرتے ہیں، نہیں۔ صفحہ ایک صفحہ جس کے تمام جزائر ایک دوسرے پر منحصر ہیں ایک CSR صفحہ بھیس میں ہے۔