קריאת פרמטרים משורת הפקודה

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 יכולה להיות גולמית ולדרוש הרבה קוד ניתוח משלך. שים לב שכל ארגומנט נחשב כטקסט, אז אם אתה צריך להמיר לסוגים אחרים (כמו מספרים), תצטרך לעשות זאת בעצמך.

ראה גם