פקודות
חלק מהיחידה יסודות Node.js במסלול ה-Node.js של Coddy. שיעור 4 מתוך 33.
הכלי יבצע כמה פעולות, והמילה הראשונה מציינת איזו מהן.
פירוק למשתנים לוקח את המילה הראשונה ומרכז את כל השאר במערך:
// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
console.log(Number(rest[0]) * 2);
}action היא המילה הראשונה, ו-rest מכיל את כל המילים שאחריה. rest.join(' ') מחבר את המילים האלה בחזרה למחרוזת אחת. שרשרת של if ו-else if בוחרת מה לעשות. else סופי תופס כל מילה שלא תכננת, כולל שגיאת הקלדה.
אתגר
קלהכלי שלך יבצע כמה משימות, והמילה הראשונה אחרי node notes.js מציינת איזו מהן. כעת הוא לומד שתי פקודות, add ו־list, וכן תשובה לכל מילה שאינו מכיר.
- ב־
notes.js, החלף את שתי שורות ההתחלה. חלק את המילים שמופיעות אחריnode notes.jsלפקודה, שהיא המילה הראשונה, ולשאר המילים, כלומר לכל מילה אחרת. - בחר מה לעשות באמצעות שרשרת אחת של
if,else if,elseבהתאם לפקודה. כל פקודה מדפיסה שורה אחת בדיוק:addמדפיסהAdding:ואחריו את שאר המילים, כשהן מחוברות ברווחים.node notes.js add Buy milkמדפיסהAdding: Buy milk.listמדפיסהNo notes yet. הערות עדיין לא נשמרות בשום מקום; זה יגיע בפרק 3.- כל מילה ראשונה אחרת מדפיסה
Unknown command:ואחריה רק את אותה מילה ראשונה.node notes.js remove 3מדפיסהUnknown command: remove, בלי3.
- אסור שיודפס שום דבר אחר. אם השורה מהשיעור הקודם שמדפיסה
Adding:נשארת מחוץ לשרשרת, היא תרוץ עבור כל פקודה,listתדפיס שתי שורות והבדיקות ייכשלו.
כל שלושת המקרים מסתיימים כרגיל, עם קוד יציאה 0. בשיעור הבא פקודות לא מוכרות יהפכו לשגיאות.
נסה זאת: הקלד כל אחת מהפקודות האלה בתיבה שאחרי $ node notes.js והקש Enter.
add Buy milkמציגהAdding: Buy milk.listמציגהNo notes yet.remove 3מציגהUnknown command: remove.List, עם L גדולה, מציגהUnknown command: List. JavaScript משווה טקסט אות אחר אות, כולל אותיות גדולות, לכןListאינהlist.
נסו בעצמכם
// כלי ההערות שלך מתחיל כאן.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
כל השיעורים ביחידה יסודות Node.js
1הרצת JavaScript ב-Node
שלום, Nodeקריאת הפקודהארגומנטים של שורת הפקודהפקודותתרגלו בעצמכם: Express אונליין