Svelte / المتقدم: العرض والموارد وأدلة الإصدار / الدرس 13
عقود SSR والإماهة والتحضير المسبق
اختر خيارات الصفحة من سلطة البيانات ومتطلب الخرج الأولي لا باعتبار المتصفح فقط علاجاً عاماً.
في هذه الصفحة
أهداف الدرس
- ميز مسؤوليات SSR وCSR والتحضير والإماهة.
- اجعل البداية حتمية وأبعد الخاص عن ملفات بناء عامة.
تصف خيارات العرض عملاً وجمهوراً مختلفين
ينتج SSR HTML خادم، ويفعل CSR سلوك المتصفح، وقد ينتج التحضير خرج بناء لمحتوى مستقل مناسب. لا تتعادل الخيارات؛ تعطيل SSR ليس توليد HTML مفيدة وتعطيل CSR لا يفوض الباقي. لا تحضر صفحة جلسة كأن الشخصي عام. راجع الوراثة ومدخل الديناميكي بالإصدار. قد يترجم ضبط وينشر تمثيلاً خاطئاً إذا لم يراجع الجمهور والزمن. يجب أن يعرف مسؤول النشر أي بيانات تصبح بايتات عامة عند البناء وأيها تحتاج طلباً موثقاً في كل مرة، لا استنتاج ذلك من اسم الخيار وحده.
صرح بافتراض صفحة عامة ثابتة
يخص الجزء صفحة عامة للقراءة بلا جلسة أوأفعال، ويختار HTML محضرة دون إماهة عميل. ليس وصفة للخاص أوالتفاعلي ولم يقيمه مترجم أوموائم. يعرف البناء مدخلاته ولا يعتمد عنواناً حياً غائباً بلا ضرورة. افحص الروابط والنموذج مع CSR معطلة؛ لا تتطابق أدوات التفاعل والتنقل مع التطبيق المماهى. يبقى المثال اختياراً مقصوداً لمحتوى اصطناعي بسيط، ولا يثبت أن كل صفحة داخل مجموعة التخطيط نفسها مناسبة للخيارات الموروثة إذا احتاج بعضها سلطة وقت الطلب.
// Public read-only route option fragment
export const prerender=true;
export const ssr=true;
export const csr=false;
هذه إعدادات إطار لا نماذج منفذة؛ لم تولد صفحة ثابتة أوملف بناء.
طابق أول خرج متصفح مع لقطة الخادم
تصل الإماهة السلوك ببنية الخادم. قد تختلف ساعة أوهوية عشوائية أولغة أوفرع window. لا تعمل Effects بـSSR فنقل حساب أساسي إليها يترك اللقطة ناقصة. اشتق حتمياً ومن نموذج معتمد ثم كيف المتصفح بقصد في دورته. تختلف أسباب HTML غير صحيح أوتعديل وسيط. لا تسكت كل تحذير أوتعطل SSR للجميع قبل العقدة ومدخلها. وقد تبدو الصفحة صحيحة بعد ثوانٍ مع أن البداية التي تلقاها المستخدم أوالزاحف كانت خاطئة، لذلك يحتاج التحقق مقارنة المراحل لا آخر لقطة فقط.
اختر تنسيقاً حتمياً صراحة
تشتق الدالة تاريخ UTC من وقت صريح، وتعطي تمثيلان للحظة نفسها التاريخ نفسه وترفض المعيب. هذا Date لا اختبار إماهة. قاعدة UTC اختيار عرض عينة وقد يختار المنتج منطقة المستخدم فيقدمها باتساق للطرفين. لا تثبت الدالة تفويض الوقت أوحداثته. افصل الأهلية والزمن عن حساب السلسلة. يمكن أن يكون التنسيق حتمياً تماماً بينما أعاد المصدر تاريخ حساب آخر أونسخة قديمة، ولهذا تظل المقارنة الحسابية جزءاً واحداً من عقد إخراج أوسع.
function utcDate(text){const date=new Date(text);if(Number.isNaN(date.getTime()))throw new Error("INVALID_TIME");return date.toISOString().slice(0,10);}
console.assert(utcDate("2026-01-01T23:30:00-02:00")==="2026-01-02");
console.assert(utcDate("2026-01-02T01:30:00Z")==="2026-01-02");
let rejected=false;try{utcDate("invalid");}catch{rejected=true;}console.assert(rejected);
تتفق اللحظتان وفق المنطقة المعلنة دون HTML خادم أوشجرة إماهة.
تحقق من جمهور البناء ودورة المتصفح الفعلية
اختبر المباشر والتنقل وتعطيل العميل واللغة والهوية بالخيارات المقصودة. افحص العام المولد للخاص، وأبق التخطيط حالياً وارفض رد الهوية القديمة. يشغل المقرر utcDate فقط دون تحضير أوSSR أوإماهة أوCSR أوموائم. يحتاج الباقي بناء ومتصفحاً مأذونين بمصدر بديل ونسخة دقيقة. لا يصادق التنسيق أوكائن الخيار الأداء أوSEO أوالخصوصية منشورة. ينبغي أن يربط التقرير نجاح كل تجربة بالمسار نفسه حتى لا تختلط نتيجة صفحة عامة ثابتة بضمانات صفحة حساب تملك متطلبات مختلفة تماماً.
الأخطاء الشائعة وإصلاحها
تحضر صفحة جلسة خاصة إلى خرج عام
- لماذا يحدث؟
- عومل جمهور يعتمد الطلب كبيانات عامة وقت البناء.
- كيف تصلحه؟
- أبق الخاص مفوضاً لكل طلب واختر خيارات مناسبة.
- كيف تتجنب تكراره؟
- افحص المولد واختبر المستدعي الممنوع.
يحسب محتوى SSR أساسي داخل Effect فقط
- لماذا يحدث؟
- اختلطت دورة المتصفح باشتقاق الخادم.
- كيف تصلحه؟
- استخدم بيانات عرض ومشتقاً حتميين وخصص Effect للخارج.
- كيف تتجنب تكراره؟
- قارن HTML المصدر وأول خرج المتصفح.
تعطل SSR لإخفاء كل تحذير إماهة
- لماذا يحدث؟
- حل تغيير نمط عام محل تشخيص المخالفة الفعلية.
- كيف تصلحه؟
- حدد العقدة والمدخل وسبب البنية المختلفين.
- كيف تتجنب تكراره؟
- تحقق من صحة المحتوى والتفاعل لا غياب التحذير فقط.
اختبر فهمك
1. هل يجعل ضبط csr=false الصفحة آمنة للنشر؟
اعرض الحل المشروح
لا. يتحكم هذا الخيار في سلوك العرض لدى العميل فقط؛ وقد يظل الخادم أو البناء يكشف بيانات خاصة. راجع الجمهور المقصود، وتفويض الوصول إلى المصادر، وملفات البناء المولدة، كلّاً بصورة مستقلة. ثم تحقق من عقد التفاعل الفعلي للصفحة دون hydration. لا يمكن لراية نمط العرض أن تحل محل سياسة المجال وصلاحياته.
2. لماذا لا يثبت اختبار UTC حتمي صحة الإماهة؟
اعرض الحل المشروح
لا يترجم أوينتج HTML أويقارن المتصفح؛ يثبت قاعدة تنسيق لنص. احفظ الدليل ثم اختبر المدخل والبنية والدورة بالإطار الفعلي عند الإذن.
أهم ما تعلمته
- لـSSR وCSR والتحضير عقود بيانات وتفاعل مختلفة.
- تبدأ صحة الإماهة ببيانات أولية مفوضة متسقة.