دستاویزاتفائل پر مبنی

سرور موڈ اور کلائنٹ موڈ

ایک Nexy پروجیکٹ یا تو سرور سے رینڈرڈ یا کلائنٹ کے ذریعے روٹڈ ہوتا ہے، جیسے Next.js پروجیکٹ یا تو سرور پر پیش کیے گئے صفحات ہیں یا کلائنٹ ایپ۔ useCSR میں nexyconfig.py کا انتخاب کرتا ہے۔

سرور موڈ (useCSR = False)

nexyconfig.py
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react  class NexyConfig(NexyConfigModel):    useFF = react()
  • صفحات .nexy، .md یا .mdx فائلیں src/routes/ کے تحت ہیں۔
  • جڑ layout.nexy کا مالک ہے <!DOCTYPE html>، <html>، <head> اور <body>۔
  • کلائنٹ کے اجزاء (React، Vue، Svelte، Solid یا Preact) کو جزیروں کے طور پر اجازت ہے: آپ ایک .nexy صفحہ سے درآمد کرتے ہیں اور یہ براؤزر میں ہائیڈریٹ ہوتا ہے۔ دیکھیں جزیرے۔
  • کلائنٹ کا جزو کبھی بھی راستہ نہیں ہوتا ہے۔ انہیں src/components/ میں رکھیں۔
  • ایک وقت میں ایک کلائنٹ فریم ورک۔
src/
routes/
layout.nexydocument
index.nexypage
api/users.pyAPI handler
components/Counter.tsx island

کلائنٹ موڈ (useCSR = True)

nexyconfig.py
class NexyConfig(NexyConfigModel):    useFF = react()    useCSR = True
  • صفحات آپ کے کلائنٹ فریم ورک کی فائلیں ہیں: .tsx React، .vue، .svelte کے لیے۔
  • .md اور .mdx فائلیں درست روٹس رہتی ہیں: Nexy انہیں کلائنٹ لے آؤٹ کے اندر سرور پر پیش کرتا ہے، اور کلائنٹ راؤٹر وہاں سے نیویگیشن سنبھال لیتا ہے۔
  • کسی بھی فریم ورک کا روٹ لے آؤٹ (layout.tsx، ​​layout.vue، layout.svelte) <!DOCTYPE html>، <html>، <head> اور <body> کا مالک ہوتا ہے، جیسا کہ Next.js ایپ راؤٹر کی روٹ لے آؤٹ۔ Nexy اسے پہلے جواب کے لیے نوڈ میں پیش کرتا ہے اور فریم ورک پوری دستاویز کو ہائیڈریٹ کرتا ہے۔ دیکھیں layout.tsx۔
  • .py فائلیں API ہینڈلر ہیں جو کلائنٹ کے راستوں کے ساتھ FastAPI کے ذریعہ پیش کی جاتی ہیں۔
  • کوئی .nexy فائل بالکل نہیں ہے، اور کوئی layout.nexy نہیں۔
  • صفحات کے درمیان نیویگیشن براؤزر میں ہوتا ہے۔
src/routes/
layout.tsxdocument
index.tsxpage
users.tsxpage
api/users.pyAPI handler

جو رد کیا جاتا ہے۔

Nexy پروجیکٹ کو nx dev، nx start اور nx build سے پہلے چیک کرتا ہے اور فائلوں کی فہرست کے ساتھ رک جاتا ہے:

موڈ مسترد پیغام
سرور .tsx، .jsx، .vue یا .svelte src/routes/ کے تحت اجزاء کو src/components/ میں منتقل کریں، یا سیٹ کریں useCSR = True
کلائنٹ src/routes/ کے تحت کوئی بھی .nexy فائل انہیں فریم ورک کے اجزاء کے طور پر لکھیں، یا سیٹ کریں useCSR = False
دونوں useFF میں ایک سے زیادہ فرنٹ اینڈ فریم ورک useFF must configure exactly one frontend framework
کلائنٹ useRouter (ماڈیولر راؤٹر) useCSR requires file-based routing
کلائنٹ نہیں useFF useCSR requires a client framework

_ یا . سے شروع ہونے والی فائلوں اور فولڈرز کو اس چیک سے نظر انداز کیا جاتا ہے۔

کون سا

  • مواد، مارکیٹنگ، دستاویزات، SEO-پہلی سائٹس: جزائر کے ساتھ سرور موڈ۔
  • بھرپور کلائنٹ نیویگیشن کے ساتھ ڈیش بورڈز اور ایپس: کلائنٹ موڈ۔
  • ایک Python API جس کے اوپر کلائنٹ ایپ ہے: کلائنٹ موڈ، صفحات کے آگے .py ہینڈلرز کے ساتھ۔

اگلے اقدامات

GitHub پر ترمیم کریں

Enter نتیجہ کھولتا ہے، Esc بند کرتا ہے۔