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. הגדר את המצב לפני השליחה. לאחר שהתגובה הסתיימה, אי אפשר לשנות את המצב שלה.

נסה זאת: לחץ על Run ושלח /. אמור להופיע 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

תרגלו בעצמכם: Express אונליין