HMR الأصلي في Node.js: دراسة تقنية متعمقة

2025-06-04

تشرح هذه المقالة كيفية تنفيذ ميزة الاستبدال السريع للوحدات (HMR) الأصلية في Node.js. تُعتبر الطرق التقليدية التي تستخدم علامات `--watch` أو أنظمة الوحدات الظاهرية مثل Vite غير فعالة وتعاني من عزل الوحدات. يستخدم الكاتب خطافات الوحدات المدمجة `node:module` في Node.js لإنشاء آلية تحديث تدريجي تعتمد على أرقام إصدار الملفات. جوهر النظام هو فئة `FileTree`، التي تقوم بتحميل ومراقبة شجرة الملفات، وخطاف `useTree`، الذي يلتقط عملية تحميل الوحدة، ويضيف رقم إصدار إلى عناوين URL لإبطال ذاكرة التخزين المؤقت. يضمن إنشاء شجرة التبعيات أنه عندما تتغير وحدة تابعة، يتم تحديث الوحدة الأصلية أيضًا، مما يؤدي إلى HMR فعال ويمنع إعادة تقييم شجرة الوحدات بأكملها.

التطوير