ডকুমেন্টেশনমোড

রেন্ডারিং

রেন্ডারিং একটি প্রশ্নের উত্তর দেয়: কে 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

চারটি মোড

এসএসআর আইএসআর সিএসআর দ্বীপপুঞ্জ
ডেটা পড়া হয় প্রতিটি অনুরোধে প্রতিটি পুনর্জন্মের উপর ব্রাউজারে প্রতিটি অনুরোধে
এইচটিএমএল থেকে আসে সার্ভার সার্ভার, তারপর একটি ক্যাশে প্রথম নথির জন্য সার্ভার, পরে ব্রাউজার সার্ভার
JavaScript শুধুমাত্র দ্বীপের জন্য শুধুমাত্র দ্বীপের জন্য ফ্রেমওয়ার্ক বান্ডিল শুধুমাত্র দ্বীপ
হাইড্রেশন কোনটি কোনটি পুরো নথি দ্বীপ
ক্যাশে কোনটি প্রতি URL, মেমরিতে কোনটি কোনটি
দ্বারা সিদ্ধান্ত নেওয়া হয়েছে ডিফল্ট revalidate = N পৃষ্ঠায় useCSR = True প্রকল্পে directive উপাদানের উপর
শস্য পৃষ্ঠা পৃষ্ঠা প্রকল্প উপাদান

জীবনচক্র রেন্ডারিং

দুটি তথ্য সবচেয়ে বিস্ময় ব্যাখ্যা করে।

  1. একটি প্রকল্প এক মধ্যে আছে মোড useCSR সার্ভার মোড (SSR, ISR, দ্বীপপুঞ্জ, .nexy, .md, .mdx রুট) এবং ক্লায়েন্ট মোড (ফ্রেমওয়ার্ক রুট এবং একটি ক্লায়েন্ট রাউটার) এর মধ্যে বেছে নেয়। দুটি মিশ্রিত করা যাবে না: দেখুন সার্ভার মোড এবং ক্লায়েন্ট মোড।
  2. সার্ভার মোড ভিতরে, মোড প্রতি পৃষ্ঠা একটি পৃষ্ঠা revalidate দিয়ে ক্যাশ করা যেতে পারে, অন্য একটি দ্বীপ ধরে রাখতে পারে, তৃতীয়টি করতে পারে না।

ক্লায়েন্ট মোড এখনও একটি বাস্তব নথি পাঠায়: Nexy এটিকে প্রথম প্রতিক্রিয়ার জন্য নোডে রেন্ডার করে, তারপর ব্রাউজার নেভিগেশন গ্রহণ করে। একটি সিএসআর পৃষ্ঠা একটি বান্ডিলের জন্য অপেক্ষা করা একটি ফাঁকা পৃষ্ঠা নয়।

কখন ব্যবহার করতে হবে

  • বিষয়বস্তু, বিপণন, ডকুমেন্টেশন: SSR, প্লাস ISR যখন বিষয়বস্তু খুব কমই পরিবর্তিত হয়।
  • একটি ইন্টারেক্টিভ উইজেট সহ একটি বেশিরভাগ স্ট্যাটিক পৃষ্ঠা: একটি দ্বীপের সাথে SSR।
  • ড্যাশবোর্ড, সম্পাদক, অ্যাপের মতো নেভিগেশন: CSR।
  • একটি পাতা ক্রমাগত পড়া এবং খুব কমই পরিবর্তিত হয়: 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, এবং চার্ট হল একটি দ্বীপ যা ভিউতে স্ক্রোল করলে হাইড্রেট হয়।

সীমাবদ্ধতা

  • এসএসজি নেই মোড Nexy বিল্ড টাইমে এইচটিএমএল প্রি-রেন্ডার করে (কম্পোনেন্ট এইচটিএমএল, ক্লায়েন্ট ডকুমেন্ট), কিন্তু সবসময় সার্ভারের মাধ্যমে এটিকে আবার পড়ে: কোন এক্সপোর্ট কমান্ড নেই, স্ট্যান্ডিক্যালি হোস্ট করার জন্য কোন স্বতন্ত্র ফোল্ডার নেই। হিমায়িত সামগ্রীর জন্য, একটি দীর্ঘ উইন্ডো সহ ISR ব্যবহার করুন।
  • আইএসআর একটি নয় সিডিএন। ক্যাশে সেই প্রক্রিয়ায় থাকে যা পৃষ্ঠাটিকে রেন্ডার করে; অনেক কর্মী বেশ কিছু ক্যাশে রাখে। ISR দেখুন।
  • সিএসআর একটি প্রকল্প সিদ্ধান্ত আপনি এক পৃষ্ঠার CSR করতে পারবেন না এবং বাকি SSR রাখতে পারবেন না।
  • দ্বীপগুলি দ্বীপকে হাইড্রেট করে, নয় পৃষ্ঠা একটি পৃষ্ঠা যার দ্বীপগুলি একে অপরের উপর নির্ভর করে একটি ছদ্মবেশে একটি CSR পৃষ্ঠা৷

পরবর্তী পদক্ষেপ

GitHub-এ সম্পাদনা করুন

Enter ফলাফল খোলে, Esc বন্ধ করে।