برنامه نویسی

ساخت ابزارهای رابط خط فرمان (CLI) با Node.js

Summarize this content to 400 words in Persian Lang
ایجاد ابزارهای Command Line Interface (CLI) روشی قدرتمند برای خودکارسازی وظایف، مدیریت عملیات سیستم یا حتی ارتباط مستقیم با سرویس های وب از ترمینال است. Node.js با معماری رویداد محور و اکوسیستم بسته قوی خود، یک انتخاب عالی برای ساخت ابزارهای CLI است. در این مقاله، نحوه ساخت یک برنامه CLI با استفاده از Node.js را بررسی خواهیم کرد که همه چیز را از تنظیمات اولیه تا ویژگی های پیشرفته را پوشش می دهد.

شروع شدن

قبل از اینکه به جزئیات ساخت یک ابزار CLI بپردازیم، مطمئن شوید که Node.js و npm (Node Package Manager) را روی دستگاه خود نصب کرده اید. می توانید آنها را از وب سایت رسمی Node.js دانلود و نصب کنید.

مرحله 1: پروژه خود را راه اندازی کنید

ابتدا یک دایرکتوری جدید برای پروژه خود ایجاد کنید و آن را با npm مقداردهی اولیه کنید:

mkdir my-cli-tool
cd my-cli-tool
npm init -y

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور یک را ایجاد می کند package.json فایل با تنظیمات پیش فرض

مرحله 2: یک نقطه ورودی ایجاد کنید

در مرحله بعد، معمولاً یک نقطه ورودی برای برنامه خود ایجاد کنید index.js یا cli.js. برای این مثال، ما استفاده خواهیم کرد cli.js:

touch cli.js

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: package.json را به روز کنید

را به روز کنید package.json فایل را برای مشخص کردن نقطه ورودی و قابل اجرا کردن. فیلد زیر را اضافه کنید:

“bin”: {
“mycli”: “./cli.js”
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اینجا، mycli دستوری است که برای اجرای ابزار CLI خود استفاده خواهید کرد.

مرحله 4: اسکریپت را اجرایی کنید

خط زیر را در بالای صفحه اضافه کنید cli.js تا آن را قابل اجرا کنیم:

#!/usr/bin/env node

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این خط shebang به سیستم می گوید که اسکریپت را با استفاده از Node.js اجرا کند.

ساخت ابزار CLI

اکنون، بیایید ساختن عملکرد ابزار CLI خود را شروع کنیم. ما از یک بسته محبوب به نام استفاده خواهیم کرد commander برای کمک به تجزیه آرگومان و مدیریت فرمان.

مرحله 5: Commander را نصب کنید

نصب commander با استفاده از npm:

npm install commander

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: دستورات اولیه را ایجاد کنید

که در cli.js، یک ساختار دستوری ساده را تنظیم کنید:

#!/usr/bin/env node

const { Command } = require(‘commander’);
const program = new Command();

program
.name(‘mycli’)
.description(‘A simple CLI tool built with Node.js’)
.version(‘1.0.0’);

program
.command(‘greet ‘)
.description(‘Greet a person’)
.action((name) => {
console.log(`Hello, ${name}!`);
});

program.parse(process.argv);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این اسکریپت یک ابزار اصلی CLI را با یک فرمان تعریف می کند greet که طول می کشد name استدلال می کند و یک تبریک چاپ می کند.

مرحله 7: ابزار را به صورت محلی پیوند دهید

قبل از استفاده از ابزار CLI، آن را به صورت محلی پیوند دهید:

npm link

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور یک پیوند نمادین به ابزار CLI شما ایجاد می کند و به شما امکان می دهد اجرا کنید mycli از هر نقطه از سیستم شما

مرحله 8: CLI خود را تست کنید

اکنون می توانید ابزار CLI خود را آزمایش کنید:

mycli greet John

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شما باید خروجی را ببینید: Hello, John!

افزودن ویژگی های بیشتر

برای قوی‌تر کردن ابزار CLI خود، می‌توانید دستورات، گزینه‌ها و اسکریپت‌های خارجی اضافه کنید.

مرحله 9: افزودن گزینه ها

با استفاده از آن می توانید گزینه هایی را به دستورات خود اضافه کنید .option():

program
.command(‘greet ‘)
.description(‘Greet a person’)
.option(‘-t, –title ‘, ‘Title to use in the greeting’)
.action((name, options) => {
const title = options.title ? `${options.title} ` : ”;
console.log(`Hello, ${title}${name}!`);
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون می توانید اجرا کنید:

mycli greet John –title Mr.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و خروجی را ببینید: Hello, Mr. John!

مرحله 10: رسیدگی به وظایف ناهمزمان

برای عملیات ناهمزمان، از async/wait در اقدامات دستوری خود استفاده کنید:

program
.command(‘fetch ‘)
.description(‘Fetch data from a URL’)
.action(async (url) => {
try {
const response = await fetch(url);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(‘Error fetching data:’, error);
}
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

حتما نصب کنید node-fetch برای این مثال:

npm install node-fetch

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 11: ایجاد دستورات پیچیده

برای دستورات پیچیده تر، می توانید کد خود را با تقسیم آن به فایل های جداگانه مدولار کنید:

یک فایل ایجاد کنید commands/greet.js:

module.exports = (name, options) => {
const title = options.title ? `${options.title} ` : ”;
console.log(`Hello, ${title}${name}!`);
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و آپدیت کنید cli.js:

const greet = require(‘./commands/greet’);

program
.command(‘greet ‘)
.description(‘Greet a person’)
.option(‘-t, –title ‘, ‘Title to use in the greeting’)
.action(greet);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نتیجه

ساختن یک ابزار CLI با Node.js می تواند بهره وری شما را تا حد زیادی افزایش دهد و راهی قدرتمند برای ارتباط با برنامه های شما ارائه دهد. با commander بسته، می توانید به سرعت ابزار CLI خود را با دستورات، گزینه ها و آرگومان ها تنظیم و گسترش دهید. با دنبال کردن مراحل ذکر شده در این مقاله، می توانید ابزارهای همه کاره و قوی CLI را متناسب با نیازهای خاص خود ایجاد کنید. کد نویسی مبارک!

ایجاد ابزارهای Command Line Interface (CLI) روشی قدرتمند برای خودکارسازی وظایف، مدیریت عملیات سیستم یا حتی ارتباط مستقیم با سرویس های وب از ترمینال است. Node.js با معماری رویداد محور و اکوسیستم بسته قوی خود، یک انتخاب عالی برای ساخت ابزارهای CLI است. در این مقاله، نحوه ساخت یک برنامه CLI با استفاده از Node.js را بررسی خواهیم کرد که همه چیز را از تنظیمات اولیه تا ویژگی های پیشرفته را پوشش می دهد.

شروع شدن

قبل از اینکه به جزئیات ساخت یک ابزار CLI بپردازیم، مطمئن شوید که Node.js و npm (Node Package Manager) را روی دستگاه خود نصب کرده اید. می توانید آنها را از وب سایت رسمی Node.js دانلود و نصب کنید.

مرحله 1: پروژه خود را راه اندازی کنید

ابتدا یک دایرکتوری جدید برای پروژه خود ایجاد کنید و آن را با npm مقداردهی اولیه کنید:

mkdir my-cli-tool
cd my-cli-tool
npm init -y
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور یک را ایجاد می کند package.json فایل با تنظیمات پیش فرض

مرحله 2: یک نقطه ورودی ایجاد کنید

در مرحله بعد، معمولاً یک نقطه ورودی برای برنامه خود ایجاد کنید index.js یا cli.js. برای این مثال، ما استفاده خواهیم کرد cli.js:

touch cli.js
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: package.json را به روز کنید

را به روز کنید package.json فایل را برای مشخص کردن نقطه ورودی و قابل اجرا کردن. فیلد زیر را اضافه کنید:

"bin": {
  "mycli": "./cli.js"
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اینجا، mycli دستوری است که برای اجرای ابزار CLI خود استفاده خواهید کرد.

مرحله 4: اسکریپت را اجرایی کنید

خط زیر را در بالای صفحه اضافه کنید cli.js تا آن را قابل اجرا کنیم:

#!/usr/bin/env node
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این خط shebang به سیستم می گوید که اسکریپت را با استفاده از Node.js اجرا کند.

ساخت ابزار CLI

اکنون، بیایید ساختن عملکرد ابزار CLI خود را شروع کنیم. ما از یک بسته محبوب به نام استفاده خواهیم کرد commander برای کمک به تجزیه آرگومان و مدیریت فرمان.

مرحله 5: Commander را نصب کنید

نصب commander با استفاده از npm:

npm install commander
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: دستورات اولیه را ایجاد کنید

که در cli.js، یک ساختار دستوری ساده را تنظیم کنید:

#!/usr/bin/env node

const { Command } = require('commander');
const program = new Command();

program
  .name('mycli')
  .description('A simple CLI tool built with Node.js')
  .version('1.0.0');

program
  .command('greet ')
  .description('Greet a person')
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

program.parse(process.argv);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این اسکریپت یک ابزار اصلی CLI را با یک فرمان تعریف می کند greet که طول می کشد name استدلال می کند و یک تبریک چاپ می کند.

مرحله 7: ابزار را به صورت محلی پیوند دهید

قبل از استفاده از ابزار CLI، آن را به صورت محلی پیوند دهید:

npm link
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور یک پیوند نمادین به ابزار CLI شما ایجاد می کند و به شما امکان می دهد اجرا کنید mycli از هر نقطه از سیستم شما

مرحله 8: CLI خود را تست کنید

اکنون می توانید ابزار CLI خود را آزمایش کنید:

mycli greet John
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شما باید خروجی را ببینید: Hello, John!

افزودن ویژگی های بیشتر

برای قوی‌تر کردن ابزار CLI خود، می‌توانید دستورات، گزینه‌ها و اسکریپت‌های خارجی اضافه کنید.

مرحله 9: افزودن گزینه ها

با استفاده از آن می توانید گزینه هایی را به دستورات خود اضافه کنید .option():

program
  .command('greet ')
  .description('Greet a person')
  .option('-t, --title </span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">Title to use in the greeting</span><span class="dl">'</span><span class="p">)</span>
  <span class="p">.</span><span class="nf">action</span><span class="p">((</span><span class="nx">name</span><span class="p">,</span> <span class="nx">options</span><span class="p">)</span> <span class="o">=></span> <span class="p">{</span>
    <span class="kd">const</span> <span class="nx">title</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">title</span> <span class="p">?</span> <span class="s2">`</span><span class="p">${</span><span class="nx">options</span><span class="p">.</span><span class="nx">title</span><span class="p">}</span><span class="s2"> `</span> <span class="p">:</span> <span class="dl">''</span><span class="p">;</span>
    <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="s2">`Hello, </span><span class="p">${</span><span class="nx">title</span><span class="p">}${</span><span class="nx">name</span><span class="p">}</span><span class="s2">!`</span><span class="p">);</span>
  <span class="p">});</span>
</code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

اکنون می توانید اجرا کنید:

mycli greet John --title Mr.
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و خروجی را ببینید: Hello, Mr. John!

مرحله 10: رسیدگی به وظایف ناهمزمان

برای عملیات ناهمزمان، از async/wait در اقدامات دستوری خود استفاده کنید:

program
  .command('fetch ')
  .description('Fetch data from a URL')
  .action(async (url) => {
    try {
      const response = await fetch(url);
      const data = await response.json();
      console.log(data);
    } catch (error) {
      console.error('Error fetching data:', error);
    }
  });
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

حتما نصب کنید node-fetch برای این مثال:

npm install node-fetch
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 11: ایجاد دستورات پیچیده

برای دستورات پیچیده تر، می توانید کد خود را با تقسیم آن به فایل های جداگانه مدولار کنید:

یک فایل ایجاد کنید commands/greet.js:

module.exports = (name, options) => {
  const title = options.title ? `${options.title} ` : '';
  console.log(`Hello, ${title}${name}!`);
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و آپدیت کنید cli.js:

const greet = require('./commands/greet');

program
  .command('greet ')
  .description('Greet a person')
  .option('-t, --title </span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">Title to use in the greeting</span><span class="dl">'</span><span class="p">)</span>
  <span class="p">.</span><span class="nf">action</span><span class="p">(</span><span class="nx">greet</span><span class="p">);</span>
</code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

نتیجه

ساختن یک ابزار CLI با Node.js می تواند بهره وری شما را تا حد زیادی افزایش دهد و راهی قدرتمند برای ارتباط با برنامه های شما ارائه دهد. با commander بسته، می توانید به سرعت ابزار CLI خود را با دستورات، گزینه ها و آرگومان ها تنظیم و گسترش دهید. با دنبال کردن مراحل ذکر شده در این مقاله، می توانید ابزارهای همه کاره و قوی CLI را متناسب با نیازهای خاص خود ایجاد کنید. کد نویسی مبارک!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا