Menu
CoddyTech

وحدة http

جزء من قسم أساسيات Express في رحلة Node.js على Coddy. الدرس 2 من 23.

ينجز Express أعمالًا نيابةً عنك لا يمكنك رؤيتها. ويُظهر ذلك وحدة node:http الخاصة بـ Node، التي بُني Express عليها.

import http from 'node:http';

const server = http.createServer((req, res) => {
    if (req.url === '/repairs') {
        res.statusCode = 503;
        res.end('Repairs are closed today');
        return;
    }
    res.end('Welcome to the bike shop');
});

server.listen(3000);

يستدعي Node الدالة لكل طلب. لا توجد مسارات: عليك بنفسك مقارنة req.url، أي المسار المطلوب. res.statusCode هو رمز الحالة، وهو رقم يوضح نتيجة الطلب: 200 تعني أن كل شيء على ما يرام، و404 تعني أن العنصر غير موجود. ترسل res.end محتوى الاستجابة وتنهيها، لذا عيّن الحالة قبل استدعائها.

challenge icon

التحدي

سهل

قبل متابعة العمل مع Express، اكتب خادمًا صغيرًا باستخدام وحدة node:http الخاصة بـ Node، لترى العمل الذي ينجزه Express نيابةً عنك.

  1. في server.js، داخل الدالة المُمرَّرة إلى http.createServer، افحص req.url. عندما تكون قيمته /، أرسل النص Home.
  2. لكل مسار آخر، عيّن رمز الحالة إلى 404 وأرسل النص Not found. عيّن الحالة قبل الإرسال. بعد انتهاء الاستجابة، لا يمكن تغيير حالتها.

جرّب ذلك: اضغط على «العب» وأرسل /. ينبغي أن ترى Home مع الحالة 200. أرسل /nope، ثم /recipes/today. ينبغي أن يظهر في الحالتين Not found مع الحالة 404. في الدرس 1، أرسل Express خطأ 404 نيابةً عنك؛ وهنا تكتبه بنفسك.

جرّب بنفسك

import http from 'node:http';

const server = http.createServer((req, res) => {
    // استجب للمسار / بـ Home، ولكل مسار آخر بـ 404 Not found.
    res.end('Hello from Node');
});

server.listen(3000, () => {
    console.log('Listening on port 3000');
});
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات Express

تدرّب بنفسك: Playground لـ Express