اليوم ٤٩ من تعلم MERN Stack
أنا في اليوم ٤٩ من رحلتي لأصبح مهندس Full-stack.
بالأمس عملت على JavaScript classes وبيانات الملفات غير المتزامنة (async file data). واليوم ركزت على توجيه المسارات في الخلفية (backend routing). درست التوجيه الديناميكي (dynamic routing) ومعاملات المسار المتغيرة (variable path parameters).
المسارات الثابتة (Static paths) تفشل عندما تبني منصات ضخمة. لا يمكنك إنشاء مسار فريد لكل منتج أو قائمة تأجير في قاعدة البيانات؛ فمن المستحيل التوسع (scale) بهذه الطريقة.
قمت اليوم ببناء نقاط نهاية (endpoints) مرنة. تتكيف هذه النقاط بناءً على البيانات الموجودة في رابط URL.
استخدام المسارات التي تعتمد على مطابقة الأنماط (pattern-matching routes) يجعل معالجة الخادم أسرع وأنظف.
إليك كيفية عمل ذلك في Express:
- ضع نقطتين رأسيين (:) قبل جزء من المسار.
- هذا يخبر المحرك بأن هذا الجزء عبارة عن متغير، وليس نصاً حرفياً.
- استخدم
req.paramsللوصول إلى هذه البيانات في الكود الخاص بك.
في ملف storeRouter.js الخاص بي، استخدمت هذا النمط:
storeRouter.get('/home/:homeId', storeController.getHomeDetails);
يعمل :homeId كرمز عام (wildcard). وهذا يسمح لمسار واحد بالتعامل مع الآلاف من معرفات المنازل (home IDs) المختلفة.
المصدر: https://dev.to/ali_hamza_589ec7b3eb6688d/day-49-of-learning-mern-stack-2ape