ما هو Express.js ولماذا هو مطلوب؟
\n\nExpress.js هو إطار عمل ويب بسيط ومرن لـ Node.js، مكتوب بلغة جافا سكريبت. يوفر للمطورين مجموعة أدوات قوية لإنشاء تطبيقات الويب وواجهات برمجة التطبيقات (API) (REST، GraphQL). يعتبر Express.js المعيار الفعلي لتطوير الخادم على Node.js بفضل بساطته وسرعته ومجتمعه الضخم.
\n\nلماذا نحتاج Express.js؟ يوفر Node.js نفسه وحدة HTTP منخفضة المستوى تسمح بإنشاء الخوادم. ومع ذلك، فإن العمل المباشر معها يتطلب كتابة الكثير من الكود النمطي لمعالجة المسارات، وتحليل الطلبات، وإدارة الجلسات، إلخ. يحل Express.js هذه المشاكل من خلال توفير:
\n- \n
- التوجيه (Routing): تعريف بسيط لمعالجات لعناوين URL وطرق HTTP مختلفة (GET، POST، PUT، DELETE). \n
- الوسائط الوسيطة (Middleware): نظام قوي يسمح بتنفيذ الكود قبل أو بعد معالجة الطلب (مثل التسجيل، المصادقة، الضغط). \n
- إدارة الطلبات والاستجابات: طرق ملائمة للعمل مع معاملات URL، ونص الطلب (body)، وملفات تعريف الارتباط، والرؤوس، وإرسال الاستجابات (JSON، HTML، ملفات). \n
- معالجة القوالب: التكامل مع محركات القوالب الشائعة مثل Pug و EJS و Handlebars. \n
- الملفات الثابتة: توزيع بسيط للموارد الثابتة (CSS، JS، صور). \n
يُستخدم Express.js لإنشاء كل شيء: من التطبيقات البسيطة ذات الصفحة الواحدة إلى الأنظمة المؤسسية المعقدة وواجهات برمجة التطبيقات عالية التحميل.
\n\nتثبيت Express.js
\nيتم تثبيت Express.js من خلال مدير الحزم npm (Node Package Manager). يُفترض أن لديك بالفعل Node.js و npm مثبتين.
\n\nالخطوة 1: تهيئة المشروع
\nأنشئ دليلاً جديداً لمشروعك وانتقل إليه في الطرفية. ثم قم بتهيئة مشروع Node.js جديد:
\nmkdir my-express-app\ncd my-express-app\nnpm init -y\nالعلامة -y تقبل تلقائياً جميع القيم الافتراضية. يمكنك أيضاً حذفها لملء بيانات المشروع الوصفية يدوياً.
الخطوة 2: تثبيت Express
\nقم بتثبيت Express.js كاعتماد للمشروع:
\nnpm install express\nسيضيف هذا الأمر Express إلى ملف package.json في قسم dependencies وسينشئ مجلد node_modules الذي يحتوي على المكتبة نفسها واعتماداتها.
الخطوة 3: التحقق من التثبيت
\nبعد التثبيت، يمكنك التحقق من إصدار Express في مشروعك:
\nnpx express --version\nأو ببساطة انظر إلى ملف package.json.
بداية سريعة: "Hello World" على Express.js
\nأنشئ ملفاً باسم app.js (أو index.js) في جذر مشروعك وأضف الكود التالي:
// app.js\nconst express = require('express');\nconst app = express();\nconst port = 3000;\n\n// تعريف مسار لعنوان URL الجذر\napp.get('/', (req, res) => {\n res.send('Hello World! Express.js يعمل!');\n});\n\n// تشغيل الخادم\napp.listen(port, () => {\n console.log(`الخادم يعمل على http://localhost:${port}`);\n});\n\nتشغيل التطبيق:
\nفي الطرفية، نفذ الأمر:
\nnode app.js\nافتح المتصفح وانتقل إلى العنوان http://localhost:3000. يجب أن ترى الرسالة "Hello World! Express.js يعمل!".
ماذا يحدث هنا؟
\n- \n
require('express')— نقوم باستيراد مكتبة Express. \n express()— نقوم بإنشاء نسخة من تطبيق Express. \n app.get('/', callback)