השתמש בספריות ובכלי השירות האלה כדי ליצור תוכניות CLI מודרניות עם כל הפעמונים והשריקות שאתה צריך.

ממשק שורת פקודה (CLI) הוא דרך ליצור אינטראקציה עם תוכנית מחשב או מערכת הפעלה באמצעות פקודות מבוססות טקסט. כלי CLI הוא תוכנית שירות שתוכל להפעיל משורת פקודה. כלי CLI בדרך כלל לוקחים מהמשתמש פקודות מבוססות טקסט ומבצעים משימות ספציפיות על סמך הפקודות.

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

ישנן מספר חבילות Node.js שיכולות לעזור לך לבנות במהירות כלי CLI, המציעות מגוון רחב של פונקציונליות וגמישות. כאן, תחקור כמה מהחבילות המובילות של Node.js לבניית כלי CLI ותגלה את התכונות העיקריות שלהן.

Commander היא חבילת Node.js לבניית ממשקי שורת פקודה. הוא מספק API להגדרת פקודות, אפשרויות וארגומנטים, מה שמקל על יצירת כלי CLI.

Commander דואג לנתח ארגומנטים לאפשרויות ולארגומנטים של שורת הפקודה. בנוסף, הוא מציג שגיאות עבור בעיות ואפשרויות לא מזוהות ומפיק אוטומטית עזרה לשימוש (תיעוד CLI).

כדי להתקין את Commander כתלות, הפעל את הפקודה הזו:

instagram viewer
npm להתקין מְפַקֵד

הנה דוגמה לשימוש ב-Commander באפליקציית Node.js:

// index.js
const { Command } = לִדרוֹשׁ("מְפַקֵד");

// יצירת מופע פקודה
const תוכנית = חָדָשׁ פקודה();

// כלי יצירה
תכנית
.שֵׁם("מתמטיקה-תועלת")
.תיאור("כלי CLI לביצוע פונקציות מתמטיות פשוטות")
.גִרְסָה("1.0.0");

// הוספת פקודה
תכנית
.פקודה("לְהוֹסִיף")
.תיאור("הוסף שני מספרים")
.טַעֲנָה("", "מספר ראשון")
.טַעֲנָה("", "מספר שני")
.פעולה((א, ב) => {
לְנַחֵם.עֵץ(parseInt(א) + parseInt(ב));
});

תכנית.לְנַתֵחַ();

הדוגמה למעלה היא כלי CLI לביצוע פונקציות מתמטיות פשוטות. בלוק הקוד שלמעלה הטמיע את פונקציונליות "הוספה" עבור כלי ה-CLI תוך שימוש בשיטות מ-commander.js.

אתה יכול להשתמש בכלי CLI למעלה על ידי הפעלת הפקודה הזו בטרמינל שלך:

מדד הצומת הוספה 2 2

אתה יכול גם להציג את העזרה שנוצרה אוטומטית עבור כלי CLI על ידי הפעלת הפקודה הזו:

צומת cli -h

עם חבילת Commander.js, אתה יכול לבנות כלי CLI מלאים ופונקציונליים עם תיעוד מחוץ לקופסה באמצעות פקודות פשוטות.

Inquirer.js היא חבילת Node.js לבניית ממשקי שורת פקודה אינטראקטיביים. הוא מספק קבוצה של רכיבי ממשק משתמש, כגון הנחיות, רשימות ותיבות סימון, מה שמקל על בניית כלי CLI שיכולים ליצור אינטראקציה עם המשתמש.

כדי להתקין את Inquirer כתלות, הפעל את הפקודה הזו:

npm להתקין שואל

הנה דוגמה לשימוש ב-Inquirer.js:

// index.js
יְבוּא שואל מ"שואל";

שואל
.מיידי([
{
סוּג: "קֶלֶט",
שֵׁם: "שֵׁם",
הוֹדָעָה: "מה השם שלך?",
},
])
.לאחר מכן((תשובות) => {
לְנַחֵם.עֵץ(`שלום ${answers.name}`);
});

דוגמה זו משתמשת ב-Inquirer.js כדי לקחת קלט משתמש מהמסוף ומתעדת הודעה האומרת שלום למשתמש.

Inquirer.js אינו תומך ב-CommonJS מערכת מודול. עליך להשתמש במערכת המודול ES6 או לשדרג לאחור את החבילה לגרסה 8.0.0.

Inquirer.js מספק אפשרויות התאמה אישית רבות להנחיות, כולל בחירות, אימות וערכי ברירת מחדל, מה שהופך אותו לאידיאלי לבניית כלי CLI אינטראקטיביים שיכולים ליצור אינטראקציה עם המשתמש.

Chalk היא חבילת Node.js המספקת דרך פשוטה להוסיף צבעים לפלט מסוף, מה שמקל על יצירת כלי CLI קריאים ואטרקטיביים.

זה מספק גמישות רבה בהגדרת צבעים וסגנונות לטקסט. עם זאת, אינך יכול להשתמש בגיר בבודד כדי לבנות כלי CLI; עליך להשתמש בו עם חבילות כגון Commander ו-Inquirer.js.

כדי להתקין Chalk כתלות, הפעל את הפקודה הזו:

npm להתקין גִיר

הנה דוגמה כיצד להשתמש בגיר כדי להוסיף צבעים לפלט המסוף:

יְבוּא גִיר מ"גִיר";

לְנַחֵם.log (chalk.blue("שלום עולם!"));
לְנַחֵם.עֵץ(גִיר.אָדוֹם.נוֹעָז("אַזהָרָה"));
לְנַחֵם.עֵץ(גִיר.לבן.italic("הַצלָחָה"));

לְנַחֵם.עֵץ(
גִיר.צהוב.bgBlue("זֶהטֶקסטיש לאצהובחֲזִיתוכְּחוֹלרקע כללי")
);

גיר מספק שיטות רבות אחרות להגדרת צבעים וסגנונות, כולל לָשִׂים דָגֵשׁ, קו חוצה, גוונים שונים של צבעי רקע ועוד רבים.

Chalk אינו תומך במערכת המודול CommonJS. עליך להשתמש במערכת המודולים ES6 או לשדרג לאחור את החבילה לגרסה 4.0.0.

Chalk היא חבילה נהדרת להפוך את כלי ה-CLI שלך למושכים יותר וקריא מבחינה ויזואלית. בנוסף, אתה יכול בקלות לשלב אותו בקוד הקיים שלך ללא תצורה מורכבת.

Node Spinner היא חבילת Node.js המספקת דרך פשוטה להציג אנימציית ספינר בכלי ה-CLI שלך. אתה יכול להשתמש בחבילה זו כדי לציין שתהליך ארוך טווח בעיצומו ולתת רמז חזותי למשתמש שהכלי עדיין עובד.

כדי להתקין את Node Spinner כתלות, הפעל את הפקודה הזו:

npm להתקין קלי-ספינר

הנה דוגמה כיצד להשתמש ב-Node Spinner כדי להציג אנימציית ספינר:

const ספינר = לִדרוֹשׁ("קלי-ספינר").טוֹוֶה;

const ספינר = חָדָשׁ טוֹוֶה("מעבד... %s");
spinner.setSpinnerString("|/-\\\\");
טוֹוֶה.הַתחָלָה();

setTimeout(() => {
spinner.text = "משימה הושלמה.";

setTimeout(() => {
טוֹוֶה.תפסיק();
}, 500);
}, 5000);

קוד זה משתמש בספרייה כדי להציג ספינר עד לסיום תהליך. הקוד מדמה פעולה שנמשכת 5 שניות באמצעות setTimeout. בסופו של הזמן, הוא משנה את טקסט התצוגה מ"מעבד..." ל"משימה הושלמה". ומפסיק את הספינר כעבור 0.5 שניות.

Node Spinner מספק מגוון אפשרויות התאמה אישית, כגון שינוי סגנונות הספינר והטקסט. זה גם תומך במספר ספינרים, מה שמאפשר לך להציג אנימציות שונות עבור חלקים שונים של כלי ה-CLI שלך.

Figlet היא חבילת Node.js המספקת דרך פשוטה לעשות זאת צור אמנות ASCII מטקסט.

כדי להתקין figlet כתלות, הפעל את הפקודה הזו:

npm להתקין פיגלט

הנה דוגמה כיצד להשתמש בפיגלט כדי ליצור אמנות ASCII:

const פיגלט = לִדרוֹשׁ("פירגל");

פיגלט("שלום עולם!!", (שגיאה, נתונים) => {
אם (שגיאה) {
לְנַחֵם.עֵץ("מצטערים, משהו השתבש");
לְנַחֵם.dir (שגיאה);
לַחֲזוֹר;
}

לְנַחֵם.log (נתונים);
});

הדוגמה למעלה יוצרת אמנות ASCII עם המחרוזת "Hello World!!" באמצעות Figlet ורושמת אותו לקונסולה.

הפעלת דוגמה זו אמורה להפיק את הפלט הבא:

Figlet מספקת סגנונות גופנים רבים שבהם אתה יכול להשתמש כדי להתאים אישית את המראה של אמנות ה-ASCII שלך. ניתן לציין סגנון גופן על ידי העברת אובייקט אפשרויות ל- פיגלט פוּנקצִיָה.

לדוגמה:

פיגלט("שלום עולם!!", { גופן: "פַּעֲמוֹן" }, (שגיאה, נתונים) => {})

השימוש ב-Figlet בכלי ה-CLI שלך מוסיף עניין ויזואלי לכלים שלך והופך אותם למושכים יותר עבור המשתמשים שלך.

בעת בחירת חבילות עבור כלי ה-CLI שלך, עליך לשקול את הצרכים שלך ולבחור את החבילות המספקות את הפונקציונליות, הסגנון והתאימות העונות עליהם.

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