السلام عليكم
مرحبا بكم في الدرس الثاني من @nodejs , في الدرس السابق تعرفنا على ما هو Node.js كيفية تحميل Node.js وكيفية برمجة اول سيرفر عن طريق Node.js باستخدام Http Module , في هذا الدرس سنتعرف على فريموورك Express.js . ولا تنسى ريتويت 🔀 ليستفيد الجميع .
مرحبا بكم في الدرس الثاني من @nodejs , في الدرس السابق تعرفنا على ما هو Node.js كيفية تحميل Node.js وكيفية برمجة اول سيرفر عن طريق Node.js باستخدام Http Module , في هذا الدرس سنتعرف على فريموورك Express.js . ولا تنسى ريتويت 🔀 ليستفيد الجميع .
لكن قبل ذالك اذا كنت مهتم بمجال البرمجة بصفة عامة او مجال برمجة المواقع والتطبيقات بصفة خاصة فلا تنسى تعملي فولو @capsuleprog ليصلك جديد ثريداتي القادة .
اولا قبل التعرف على Express.js دعونا اولا نعرف لماذا نحن بحاجة الى فريمورك مبني على Node.js , تخيل مثلا عندنا موقع بسيط مكون من 3 صفحات Home و Contact و About ونحتاج لعمل Routing لهذه الصفحات , ال routing نقصد المسارات يعني ماذا سيحدث عندما نتوجه الى المسار
التالي localhost:8080/about وماذا سيحدث عندما نتوجه الى المسار التالي localhost:8080/contact وغيرها .. , اولا لنصل الى المسارات او المسار الذي نتواجد فيه عن طريق Node.js , الحل هنا هو property موجودة في req وهي req.url , هذه ال property هي تعرفنا على المسار الذي نتواجد فيه
في الصورة الكود واضح جدا مجرد كود Javascript عادي باستثناء req.url التي قمنا بشرحها , في هذا الكود قمنا بانشاء دالة شرطية . وقمنا بوضع شرط لكل مسار , فعندما نكون مثلا في مسار localhost:8080 يعني هنا نحن في مسار / نخبره ان يقوم بطباعة لنا كلمة hello from home , ولو توجدنا في مسار
مثلا /about يطبع لنا Hello from about ولو كنا في مسار /contact يطبع لنا Hello from contact وفي الاخير else لو لم يجد اي من المسارات الموجودة في موقعنا يقوم بطباعة جملة Not found 404 يعني الصفحة غير موجودة في موقعنا وفي الاخير res.end , قم بتجربة الكود في جهازك .
كما ترون هنا قمنا بانشاء routing بسيط جدا فكا الامر جد متعب , فتخيل لو كان لدينا موقع فيه 30 او 20 صفحة سيكون الامر متعب جدااا , الحل هنا هو الاعتماد على فريمورك مبني على Node.js يسهل علينا الامر كمثال express .
كال Routing ونضام القوالب templates و ال Middlewares وغيرها من الامور التي سنتعرف عليها في الدروس القادمة .
السؤال الذي عليك طرحة الان هو لماذا Express ؟
الجواب ساختصره في 3 اسباب , السبب الاول ان اكسبريس هو الاكثر استخداما ويسيطر على حصة الاسد من سوق فريمووركات Node.js ,
السؤال الذي عليك طرحة الان هو لماذا Express ؟
الجواب ساختصره في 3 اسباب , السبب الاول ان اكسبريس هو الاكثر استخداما ويسيطر على حصة الاسد من سوق فريمووركات Node.js ,
السبب الثاني لان Express سهل جدا وبسيط يمكنك تعلمه بسهولة , السبب الثالث هو انا لدى اكسبريس مئالت والاف الPackages و ال Module التي ستساعدك في تطوير مشاريعك بالاضافة لتوفره على مصادر تعلم كثيرة من دورات وكتب وغيرها .
ما هي اشهر فريمووركات Node.js ؟
يتوفر Node.js على العديد من الفريمووركات وتزداد مع مرور الوقت كمثال Exprees و Nest.js و Koa.js و Meteor و Sails.js وغيرها الكثير والكثير , انا شخصيا اشتغل بكل من Expres.js و Koa.js يعتبر Koa هو اقرب اطار عمل ل express لانه تم تصميمهم
يتوفر Node.js على العديد من الفريمووركات وتزداد مع مرور الوقت كمثال Exprees و Nest.js و Koa.js و Meteor و Sails.js وغيرها الكثير والكثير , انا شخصيا اشتغل بكل من Expres.js و Koa.js يعتبر Koa هو اقرب اطار عمل ل express لانه تم تصميمهم
من طرف نفس الفريق من المبرمجين , الان حان الوقت لتنصيب Express.js في مشروعنا , قم بفتح الترمنال او سطر الاوامر cmd قم بالتوجه للمكان الذي تريد وضع المشروع فيه وقم بانشاء فولدر سميه اي اسم مثلا mkdir firstExpress وقم بالدخول اليه عن طريق cd firstExpress ثم قم بتنفيذ الامر
التالي npm init ثم قم بملئ الخيارات بم يناسبك ثم سيقوم بانشاء لك فايل اسمه package.json وهذا الفايل هو الذي ستنقوم بتثبيث ال packages فيه , بعدها نقوم بتنصيب express فقط قم بكتابة الامر التالي في الترمنال :
npm install express
انتضر حتى يتم التنصيب , وستم انشاء لك فايل اخر
npm install express
انتضر حتى يتم التنصيب , وستم انشاء لك فايل اخر
اسمه package.lock.json فيه اشياء متعلقة ب Node.js لا دخل لنا فيها ويستم ايضا انشاء فولدر node-modules هذا الفولدر سيتم وضع فيه كود Expres وكل ال packages التي سنقوم بتنصيبها في الدروس القادمة , ثم قم بانشاء الملف الرئيسي للمشروع سميه مثلا server.js او اي اسم اخر .
ملا حضة : عند تشغيل اي سيرفر تم تقوم بعمل تغيير في الكود فهذا التغيير لن يضهر يجب ان تقوم بايقاف السيرفر ثم اعدة تشغيله عن طريق node server.js , هذا الامر متعب جدا كل ما تعمل تغيير تحتاج الى اعادة تشغيل السيرفر ,الحل هنا هو Module اسمه nodemon دوره يقوم بتشغيل السير
ميتود عبارة على Get ومهمتها الارسال , تقوم بارسال اي شيء تريد الى اي مكان تريد , في المثال قمنا بتحديد لها routing في / يعني في localhost:8080/ وقلنا لها كلم جاءك request عبارة على / قمي بارسال له رسالة , هذه الرسالة نقوم بطباعتها في res.send على عكس http فنقوم بارسالها
.
.
في res.write ثم نعطيها res.send لكن اكسبريس قالت لنا عندي حل لماذا لا نجمع res.write وres.end في method واحدة وهي res.send وتقوم بالارسال بدون حاجة الى res.end . بعدها قمنا بعمل listin للسيرفر عن طريق البورت 8080 , الان قم بفتح الترمنال في فولد المشروع وقم بتنفيذ
شاهد هنا في express الطريقة رائعة ومنضمة وسهلة جدا على عكس http ويمكننا ارسال اي ملفات او اي بيانات لاي مسار بسهولة كما سنرى في الدروس القادمة , اذا توجهت ل / يقوم بطباعة لك Hello from home وادا دخلت ل /about يطبع لك hello from about الى اخره .
جاري تحميل الاقتراحات...