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

2025-06-04

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

اقرأ المزيد
التطوير

اختراق خطافات وحدة العقدة لتطوير الواجهة الأمامية بسرعة البرق

2025-05-07

لتسريع تطوير الواجهة الأمامية، أنشأ المؤلف سلسلة من خطافات وحدة العقدة المتعامدة. يقوم مُحمّل الوحدة بتحويل JSX إلى JS، ويقوم آخر بإعادة تعيين الاستيرادات، ويقوم آخر بالبحث عن ملفات .{ts،tsx،jsx} عندما لا يُوجد ملف .js، ويقوم الأخير بالعمل مع FileTree، باستخدام إلغاء تنشيط ذاكرة التخزين المؤقت لسلسلة الاستعلام لتحميل أحدث إصدار من الملفات. تُؤدي أحداث تحديث FileTree إلى إعادة بناء الواجهة الأمامية، مع التحكم في إصدار الوحدة الذي يضمن إعادة تنفيذ الوحدات فقط إذا تغيرت تبعياتها، مما يحافظ على حالة وقت التشغيل ويمنع إعادة تشغيل العملية بأكملها.

اقرأ المزيد
التطوير خطافات الوحدة