Menu
CoddyTech

הגדרות

חלק מהיחידה REST APIs במסלול ה-Node.js של Coddy. שיעור 23 מתוך 25.

במחשב הנייד שלך השרת מאזין בפורט 3000. שירות אירוח מפעיל אותו באמצעות node server.js ובוחר בעצמו את הפורט, ומעביר אותו בסביבת הריצה בתור PORT. המארח גם קורא מדי פעם לנתיב כמו GET /health, ומפעיל מחדש את השרת כשהוא מפסיק להגיב.

// MAX_UPLOAD_MB=5 node server.js
const maxUpload = Number(process.env.MAX_UPLOAD_MB ?? 2);
const shopName = process.env.SHOP_NAME ?? 'My Shop';

כל הערכים ב-process.env הם מחרוזות, ו-'5' + 1 הוא '51', לכן יש להמיר מספרים באמצעות Number. קרא את ההגדרות בקובץ אחד, config.js, וייבא אותן בכל מקום אחר, כך ששום דבר אחר לא ייגע ב-process.env.

challenge icon

אתגר

קל

בשירות אירוח, השירות המארח בוחר את הפורט ומעביר הגדרות לשרת שלך דרך הסביבה. קרא את ההגדרות שלך מהסביבה במקום אחד, והוסף נתיב שהשירות המארח יוכל לקרוא כדי לבדוק שהשרת פעיל.

  1. ב־config.js, קרא את port ממשתנה הסביבה PORT ואת pageSize מ־PAGE_SIZE. שניהם מתקבלים כטקסט, לכן המר אותם למספרים. כשמשתנה חסר, השאר את הערכים הנוכחיים: 3000 ו־10.
  2. ב־server.js, ייבא את config. הפעל את השרת בפורט config.port, והדפס את הפורט שבו הוא משתמש. עם PORT=8080, המסוף מציג בדיוק:
    Task tracker API on port 8080
  3. גם ב־routes/tasks.js, ייבא את config. בנתיב הרשימה, בקשה ללא ?limit= משתמשת ב־config.pageSize במקום ב־10. ערך ?limit= שבבקשה עדיין גובר.
  4. ב־server.js, הוסף את GET /health מחוץ לנתב המשימות. הוא מחזיר סטטוס 200 ואת התוכן הבא בדיוק:
    { "status": "ok" }

השיעור הזה פועל עם PORT=8080 ועם PAGE_SIZE=2.

נסה זאת: לחץ על הפעלה, והמסוף יציג Task tracker API on port 8080. הבקשה GET /api/v1/tasks מחזירה 2 משימות עם "total": 3 ועם "pages": 2. הבקשה GET /api/v1/tasks?limit=3 מחזירה את כל 3 המשימות. הבקשה GET /health מחזירה { "status": "ok" }.

נסו בעצמכם

// ההגדרות שמשתנות בין המחשב הנייד שלך לשרת.
// קרא כל אחת מהן מתוך process.env, תוך שמירה על הערכים האלה כברירות מחדל.
export const config = {
    port: 3000,
    pageSize: 10,
};
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה REST APIs

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