كبسولة البرمجة
كبسولة البرمجة

@capsuleprog

15 تغريدة 3 قراءة Oct 29, 2021
السلام عليكم ,
مرحبا بكم في الدرس الثالث من @nodejs في درس اليوم سنتعرف على ال Middleware في Express وسنتعرف على الفرق بين use و all وسنتعرف على الكثير والكثير من المعلومات المفيدة لنا . لذالك لا تنسى ريتويت 🔀 لتعم الفائدة .
لكن قبل ذالك اذا كنت مهتم بمجال البرمجة بصفة عامة او برمجة التطبيقات ومواقع الويب بصفة خاصة فلا تنسى تعمل لي فولو @capsuleprog من اجل ان يصلك جديد ثريداتي القادمة .
اولا لا يجب ان تتابع هذا الدرس حتى تكون قد اتبعت الدرس الاول والثاني وفهمتهم جيدا , في الدرس الماضي عن تعريفنا لا Express قلنا انه جاء بمميزات جديدة وذكرنا ال Middleware لذالك سنتعرف على كيفية كتابة Middleware في Express , في الصورة كما ترون لكتابة Middleware نستعمل app.use
ثم نعطيه نعطيه arrow function وفيها برامترز req و res بعدها قمن بارسال رسالة عن طريق res.send التي تعرفنا عليها في الدرس الماضي , بعدها تقوم بتشغيل السيرفر عن طريق nodemon server.js وتقوم بتشغيل السيرفر في المتصفح ويقوم بطباعة لنا كلمة Hello From Middleware , الامر شغال 100% .
الان تعالو لنجرب انشاء Middleware ثاني كما الاول تماما الفرق انه في middlewaare الاول ارسلنا hello from middleware 1 و في الثاني ارسلنا hello from middleware 2 بعدها قم بحفض الملف وشغل السيرفر في المتصفح , 😩 اوف هناك مشكلة قام فقط بطباعة ال middleware الاول , لا اخي
هذه ليست مشكلة لكن ال middleware يتم تنفيذه من الاعلى يعني يتم تنفيذ الاول بعده الثاني وهكذا دواليك , لكن يتم تنفيذ ال middleware الاول وبحاجة الى اذن منا لتنفيذ الثاني يعني يحتاج منا ان نعطيه اذن المرور لتنفيذ الثاني , اذن كيف سنعطيه الاذن ؟ الجواب في الصورة .
لنمنح السماح لل Middleware بالمرور للثاني نعطيه function اسمها next ونستدعيها ك برامترز القرب من res و req بعدها نقم بعمل function اسفل ال middleware عن طريق next() بعدها سيقوم بتنفيذ ال Middleware الثاني واذا كتبت 3 Middleware فيجب عمل next في الثاني وهكذا دواليك .
في الدرس الماضي تعرفنا على routing وتعرفنا على app.get هنا ايضا في Middleware يمكن ارسال مسار فيه كما في الصورة قلنا له لو كان المسار / اطبع لنا Hello From Home وعندما نكون في /about اطبع لنا hello from about وعندما نكون في /contact اطبع لنا Hello from contact l .
الامر واضح جدا الان سنقوم بتشغيل السيرفر ونقوم بتشغيله في المتصفح واذهب الى المسار / سيطبع لك hello from home نعم جيد , اذهب الى /about سيطبع لك hello from home !! اذهب الى /contact سيطبع لك hello from home 😂😂 مادا بك يا هذا ؟؟ ركزو جيدا في ما يلي من فضلكم نحن قلنا
ان ال Middleware يتم تنفيذه من الاعلى الى الاسفل مفهوم ؟ جيد , اذن هنا ال Middleware هابط من الاعلى وهو ينفذ في الاعلى قلنا له اذا وجدت / اطبع لنا hello from home جيد عندما دخلنا في المتصفح الى / طبع لنا hello from home وعندما دخلنا الى /about لماذا طبع لنا hello from home ؟
لانه هابط من اعلى ينفذ فوجد انه عندما يكون / اطبع لنا Hello from home وهو جاي يقرى المسار /about وجد / وطبع Home لانه وجد / نفد ال Middleware الاول ولم يقرا ما بعدا / هل مفهوم ؟ هنا / نقصد به localhost:8080 وهذا شرحته في الدرس الماضي , ادن هو يجد / ويضن انه home t فيطبع
لنا hello from home وفي /about وجد / وطبع hello from home تمنى ان الامر مفهوم . اذن ما هو الحل في هذه الحالة ؟ الحل هو استخدام all بدل use كما موضح في الصورة all نقصد بها اقرا المسار كاملا يعني حين ابعث لك / اطبع لي hello from home وحينما ابعث لك /about اطبع لنا Hello form about
وحينما ابعث /contact نفذ Hello form contact وهكذا دواليك . قم بتغيير Use ب all وقم بتشغيل السيرفر وشغله في المتصفحة سيكت لك hello from home واذا دخلت الى /about سيطبع لنا hello frome about وهكذا دواليك . الى هنا نصل الى نهاية درس اليوم موعدنا الدرس القادم ولا تنسى ريتويت 🔀 .

جاري تحميل الاقتراحات...