TypeScript:
קריאת פרמטרים משורת הפקודה
איך לעשות:
ב-TypeScript, אנחנו משתמשים בprocess.argv
כדי לקרוא ארגומנטים. נתחיל עם דוגמה פשוטה:
// index.ts
// הדפס את כל הארגומנטים
process.argv.forEach((val, index) => {
console.log(`${index}: ${val}`);
});
רץ את הקוד עם ts-node index.ts arg1 arg2 arg3
ותקבל:
0: path/to/node
1: path/to/index.ts
2: arg1
3: arg2
4: arg3
אם אתה רוצה רק את הארגומנטים של המשתמש (ולא את הנתיבים), התחל מהאינדקס השלישי:
// index.ts
const userArgs = process.argv.slice(2);
console.log(userArgs); // ['arg1', 'arg2', 'arg3']
צלילה עמוקה
קריאת ארגומנטים משורת הפקודה זה לא חידוש. ברוב שפות התכנות, זה מנגנון יסודי. ב-TypeScript, שהוא למעשה JavaScript מוכתב, אנו משתמשים בגישה הדומה של process.argv
שיש לנו ב-Node.js.
חלופות לקריאת ארגומנטים קיימות. לדוגמה, חבילות כמו yargs
או commander
מספקות יותר גמישות ואפשרויות לפרסון של ארגומנטים.
פרט לכך, קריאה ישירה מ-process.argv
יכולה להיות גולמית ולדרוש הרבה קוד ניתוח משלך. שים לב שכל ארגומנט נחשב כטקסט, אז אם אתה צריך להמיר לסוגים אחרים (כמו מספרים), תצטרך לעשות זאת בעצמך.
ראה גם
- Node.js process.argv documentation
- Yargs GitHub repository - כדי להבין איך להשתמש ב
yargs
לניתוח ארגומנטים. - Commander GitHub repository - עוד אפשרות פופולרית לניהול ארגומנטים בצורה מסודרת.