הגדרות
חלק מהיחידה 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.
אתגר
קלבשירות אירוח, השירות המארח בוחר את הפורט ומעביר הגדרות לשרת שלך דרך הסביבה. קרא את ההגדרות שלך מהסביבה במקום אחד, והוסף נתיב שהשירות המארח יוכל לקרוא כדי לבדוק שהשרת פעיל.
- ב־
config.js, קרא אתportממשתנה הסביבהPORTואתpageSizeמ־PAGE_SIZE. שניהם מתקבלים כטקסט, לכן המר אותם למספרים. כשמשתנה חסר, השאר את הערכים הנוכחיים: 3000 ו־10. - ב־
server.js, ייבא אתconfig. הפעל את השרת בפורטconfig.port, והדפס את הפורט שבו הוא משתמש. עםPORT=8080, המסוף מציג בדיוק:Task tracker API on port 8080 - גם ב־
routes/tasks.js, ייבא אתconfig. בנתיב הרשימה, בקשה ללא?limit=משתמשת ב־config.pageSizeבמקום ב־10. ערך?limit=שבבקשה עדיין גובר. - ב־
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,
};
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה REST APIs
תרגלו בעצמכם: Express אונליין