Svelte / المتقدم: العرض والموارد وأدلة الإصدار / الدرس 18
الانتقال إلى Svelte 5 وKit 3 وأدلة الإصدار
راجع runes وواجهات المكونات واتفاقات Kit الحالية كعقد ذي إصدار وملفات قابلة للتحقق.
في هذه الصفحة
أهداف الدرس
- ميز توافق المكون القديم من سلوك runes الجديد.
- احفظ النموذج الأصلي والمحسن وسياسة الخادم والتراجع مع تغير الأدوات.
ثبت النسخ الدقيقة قبل تفسير إرشاد الانتقال
يختار المقرر مفاهيم Svelte 5 وتوثيق Kit 3 المراجع في 2026-10-28 لا أحدث تصحيح أودعماً دائماً. وافق Svelte وKit وVite والموائم وTypeScript والأداة والمشغل. لا يصادق Node المحلي كل مترجم. قد يتعايش القديم وفق القواعد ويؤثر نمط المكون في الإعلان والدورة. لا تخلط أجزاء الإصدارات وتعد تعديل النص انتقالاً. يحتاج العقد تحديد أي مكونات ستبقى قديمة وما حدود تبادلها مع الجديدة، فلا يصبح التعايش ذريعة لاستخدام صياغتين متعارضتين داخل شرح واحد بلا تمييز.
افصل الاشتقاق النقي من الآثار القديمة
لا يكفي لف كل let أواستبدال كل $: بـEffect. اختر الحالة والمشتق والتزامن مع تنظيف، وراجع HTML لأن SSR تختلف. تتغير الأحداث وcallback وملكية $bindable وsnippets، وللبناء الآمر APIs موثقة لا افتراض فئة مع new. تساعد الأداة الصياغة وتحتاج مراجعة المجال وasync والحالي. ينبغي أن تحفظ النتيجة غرض الكود القديم لا شكله فقط؛ فقد كان يحسب قيمة لازمة بالخادم وتحويله إلى Effect يجعلها تظهر بعد العميل فقط رغم أن الملف الجديد يترجم دون خطأ.
احفظ اتفاقات Kit الحالية بعينات ملموسة
ينقل Kit 3 الضبط لملحق Vite ويستبدل $lib بـ#lib معلنة ويقدم بيئة معلنة؛ القديمة وjson/text مهملة مقابل Response. راجع تحسين نموذج لصفحة أخرى وحالة fail الفعلية لا callback قديمة. تختلف حماية الأصل والثقة عن مفتاح تعطيل قديم. تسجل JSON المراجعة دون ترقية أوcodemod أوتشغيل. لا يعني تشابه اسم الدالة أن الترقية لا تغير نتيجة HTTP التي تعتمدها الاختبارات أوواجهة التغذية الراجعة، لذلك يجب أن تحتفظ بعينة أصلية ومحسنة للسيناريو نفسه.
{"selectedMajors":{"svelte":5,"sveltekit":3},"checks":["runes-vs-legacy-mode","effect-ssr-and-cleanup","callback-and-binding-contracts","vite-plugin-config","declared-#lib-imports","declared-env-visibility","enhanced-form-navigation-status","web-response-helpers","origin-policy"],"execution":"review-only"}
تصف القائمة الأدلة المطلوبة لا ترقية مكتملة أوفحوص بناء ناجحة.
افحص سجل إصدار معلناً دون اعتباره دليلاً فعلياً
يطلب الشرط الإصدارين ونمطاً وعلامة مراجعة، فيثبت اكتمال السجل فقط. يربط الحقيقي القفل والضبط ومخطط البيئة والخرج بنتائج أدوات. قد يفشل التراجع مع عميل أونموذج أومصدر أحدث، فاحفظ المزج ولا تفترض أن عكس رقم يعيد النظام. ليست reviewed دليلاً على تجربة. يفيد الحاجز في إظهار بند ناقص أثناء إعداد المراجعة، ويبقى توثيق من نفذ الفحص وأي ملف فحصه مسؤولية تقرير فعلي لا قيمة نصية يستطيع أي مستدع وضعها في كائن.
function releaseRecord(v){return v.svelte===5 && v.kit===3 && ["runes","legacy-reviewed"].includes(v.mode) && v.artifactsReviewed===true;}
console.assert(releaseRecord({svelte:5,kit:3,mode:"runes",artifactsReviewed:true}));
console.assert(!releaseRecord({svelte:5,kit:3,mode:"runes"}));
ينجح المكتمل ويفشل فاقد المراجعة دون مصادقة توافق نسخة أوتشغيل أداة.
انشر ادعاءات تطابق الحدود المنفذة
تغطي المراجعة المترجم والملكية والمفتاح وEffect وSSR وload والفعل والسلطة والمصدر والموائم. افصل المساعد والمكون والمتصفح والخادم. ينفذ المقرر JavaScript وJSON فقط وتبقى الأجزاء runnable:false دون تثبيت أوترجمة أوبدء أواعتماد أوقاعدة أونشر. اختر تصحيحات مدعومة وأعد الحدود مأذوناً. التزم النطاق ولا توسع الانتقال لإدارة غير معنية. يحدد التقرير ما تحقق فعلاً حتى يستطيع القارئ متابعة التنفيذ بأمان، ولا يقرأ مادة تعليمية كاملة على أنها تفويض لتشغيل خدمات أوإثبات جاهزية إنتاجية لم تختبر.
الأخطاء الشائعة وإصلاحها
تصبح كل عبارة تفاعلية قديمة Effect
- لماذا يحدث؟
- عد الحساب النقي وتوقيت أثر المتصفح متكافئين.
- كيف تصلحه؟
- افصل المصدر والمشتق والتزامن الخارجي بقصد.
- كيف تتجنب تكراره؟
- تحقق من خرج SSR والتنظيف بعد الانتقال.
يفترض ضبط Kit 2 صالحاً دون تغيير في Kit 3
- لماذا يحدث؟
- لم تراجع اتفاقات الضبط والاسم والبيئة ذات الإصدار.
- كيف تصلحه؟
- استعمل عقد الانتقال الرسمي الحالي ونسخ الأدوات والموائم الدقيقة.
- كيف تتجنب تكراره؟
- احفظ عينات النموذج الأصلي والمحسن وحل الاستيراد.
تسمى Boolean مراجعة بناء ناجحاً
- لماذا يحدث؟
- اختلط اكتمال السجل المعلن بدليل أداة منفذة.
- كيف تصلحه؟
- اربط الادعاء بهويات الملفات والنتائج الفعلية.
- كيف تتجنب تكراره؟
- صرح بالمترجم والمتصفح والخادم غير المنفذين.
اختبر فهمك
1. هل يثبت اختبار releaseRecord أن Kit 3 تترجم التطبيق؟
اعرض الحل المشروح
لا. يفحص حقول كائن ولا يحمل حزمة أويحل #lib أويحقق بيئة أويترجم مكوناً. أبقه حاجز اكتمال واربط نتائج أداة مأذونة قبل ادعاء نجاح الانتقال.
2. لماذا تحفظ عينتي النموذج الأصلي والمحسن أثناء الانتقال؟
اعرض الحل المشروح
قد يتغير تنقل التحسين وحالته ويبقى للأصلي معناه. قد تخفي callback قديمة فشلاً أوتبقى بصفحة خطأ. اختبر النجاح والرفض عبرهما واحفظ السلطة وعدم كتابة المنع.
أهم ما تعلمته
- يحفظ الانتقال المعنى والملكية لا الصياغة فقط.
- تجعل الملفات ذات النسخ والأدلة الصادقة ادعاء الإصدار قابلاً للمراجعة.