/ / 5 gói Node.js hàng đầu để xây dựng công cụ CLI

5 gói Node.js hàng đầu để xây dựng công cụ CLI

Giao diện dòng lệnh (CLI) là một cách để tương tác với chương trình máy tính hoặc hệ điều hành bằng các lệnh dựa trên văn bản. Công cụ CLI là một chương trình tiện ích mà bạn có thể chạy từ dòng lệnh. Các công cụ CLI thường nhận các lệnh dựa trên văn bản từ người dùng và thực hiện các tác vụ cụ thể dựa trên các lệnh đó.


Các công cụ CLI chất lượng cao sẽ hỗ trợ nhiều chức năng. Họ có thể phân tích các đối số dòng lệnh và tạo trợ giúp sử dụng để cung cấp phản hồi trực quan, trong số các tính năng khác.

Có một số gói Node.js có thể giúp bạn nhanh chóng xây dựng các công cụ CLI, cung cấp nhiều chức năng và tính linh hoạt. Tại đây, bạn sẽ khám phá một số gói Node.js hàng đầu để xây dựng các công cụ CLI và khám phá các tính năng chính của chúng.


Commander.js Tóm tắt Github

Commander là gói Node.js để xây dựng giao diện dòng lệnh. Nó cung cấp một API để xác định các lệnh, tùy chọn và đối số, giúp dễ dàng tạo các công cụ CLI.

Chỉ huy đảm nhiệm việc phân tích các đối số thành các tùy chọn và đối số dòng lệnh. Ngoài ra, nó hiển thị lỗi cho các sự cố và tùy chọn không được nhận dạng và tự động tạo trợ giúp sử dụng (tài liệu CLI).

Để cài đặt Commander làm phụ thuộc, hãy chạy lệnh này:

 npm install commander

Đây là một ví dụ về cách sử dụng Commander trong ứng dụng Node.js:

 
const { Command } = require("commander");


const program = new Command();


program
  .name("Math-util")
  .description("A CLI tool for performing simple math functions")
  .version("1.0.0");


program
  .command("add")
  .description("Add two numbers")
  .argument("<firstNumber>", "first number")
  .argument("<secondNumber>", "second number")
  .action((a, b) => {
    console.log(parseInt(a) + parseInt(b));
  });

program.parse();

Ví dụ trên là một công cụ CLI để thực hiện các hàm toán học đơn giản. Khối mã ở trên đã triển khai chức năng “thêm” cho công cụ CLI bằng cách sử dụng các phương thức từ Commander.js.

Bạn có thể sử dụng công cụ CLI ở trên bằng cách chạy lệnh này trong thiết bị đầu cuối của mình:

 node index add 2 2

Bạn cũng có thể xem trợ giúp được tạo tự động cho công cụ CLI bằng cách chạy lệnh này:

 node cli -h

Với gói Commander.js, bạn có thể xây dựng các công cụ CLI đầy đủ tính năng và chức năng với tài liệu sẵn có bằng cách sử dụng các lệnh đơn giản.

Inquirer.js Tóm tắt GitHub

Inquirer.js là gói Node.js để xây dựng giao diện người dùng dòng lệnh tương tác. Nó cung cấp một tập hợp các thành phần giao diện người dùng, chẳng hạn như lời nhắc, danh sách và hộp kiểm, giúp dễ dàng xây dựng các công cụ CLI có thể tương tác với người dùng.

Để cài đặt Inquirer làm phụ thuộc, hãy chạy lệnh này:

 npm install inquirer

Đây là một ví dụ về cách sử dụng Inquirer.js:

 
import inquirer from "inquirer";

inquirer
  .prompt([
    {
      type: "input",
      name: "name",
      message: "What is your name?",
    },
  ])
  .then((answers) => {
    console.log(`Hello ${answers.name}`);
  });

Ví dụ này sử dụng Inquirer.js để lấy thông tin đầu vào của người dùng từ thiết bị đầu cuối và ghi lại thông báo gửi lời chào đến người dùng.

Inquirer.js không hỗ trợ hệ thống mô-đun CommonJS. Bạn phải sử dụng hệ thống mô-đun ES6 hoặc hạ cấp gói xuống phiên bản 8.0.0.

Inquirer.js cung cấp nhiều tùy chọn tùy chỉnh cho lời nhắc, bao gồm các lựa chọn, xác thực và giá trị mặc định, làm cho nó trở nên lý tưởng để xây dựng các công cụ CLI tương tác có thể tương tác với người dùng.

phấn tóm tắt GitHub

Phấn là một gói Node.js cung cấp một cách đơn giản để thêm màu vào đầu ra của thiết bị đầu cuối, giúp việc tạo các công cụ CLI dễ đọc và hấp dẫn trở nên dễ dàng.

Nó cung cấp rất nhiều tính linh hoạt trong việc xác định màu sắc và kiểu dáng cho văn bản. Tuy nhiên, bạn không thể sử dụng riêng Chalk để xây dựng các công cụ CLI; bạn phải sử dụng nó với các gói như Commander và Inquirer.js.

Để cài đặt Chalk làm phụ thuộc, hãy chạy lệnh này:

 npm install chalk

Đây là một ví dụ về cách sử dụng Phấn để thêm màu vào đầu ra của bảng điều khiển:

 import chalk from "chalk";

console.log(chalk.blue("Hello world!"));
console.log(chalk.red.bold("Warning"));
console.log(chalk.white.italic("success"));

console.log(
  chalk.yellow.bgBlue("This text has a yellow foreground and blue background")
);

Phấn cung cấp nhiều phương pháp khác để xác định màu sắc và kiểu dáng, bao gồm gạch dưới, gạch ngangcác sắc thái khác nhau của màu nền, v.v.

Phấn không hỗ trợ hệ thống mô-đun CommonJS. Bạn phải sử dụng hệ thống mô-đun ES6 hoặc hạ cấp gói xuống phiên bản 4.0.0.

Phấn là một gói tuyệt vời để làm cho các công cụ CLI của bạn trở nên hấp dẫn và dễ đọc hơn. Ngoài ra, bạn có thể dễ dàng tích hợp nó vào mã hiện tại của mình mà không cần cấu hình phức tạp.

tóm tắt cli-spinner GitHub

Node Spinner là gói Node.js cung cấp một cách đơn giản để hiển thị hoạt ảnh spinner trong các công cụ CLI của bạn. Bạn có thể sử dụng gói này để chỉ ra rằng một quy trình dài đang diễn ra và đưa ra gợi ý trực quan cho người dùng rằng công cụ này vẫn đang hoạt động.

Để cài đặt Node Spinner làm phụ thuộc, hãy chạy lệnh này:

 npm install cli-spinner

Đây là một ví dụ về cách sử dụng Node Spinner để hiển thị hoạt hình spinner:

 const Spinner = require("cli-spinner").Spinner;

const spinner = new Spinner("processing... %s");
spinner.setSpinnerString("|/-\\");
spinner.start();

setTimeout(() => {
  spinner.text = "Task completed.";

  setTimeout(() => {
    spinner.stop();
  }, 500);
}, 5000);

Mã này sử dụng thư viện để hiển thị công cụ quay vòng cho đến khi quá trình kết thúc. Mã mô phỏng một thao tác kéo dài trong 5 giây bằng cách sử dụng setTimeout. Khi hết thời gian, nó sẽ thay đổi văn bản hiển thị từ “đang xử lý…” thành “Tác vụ đã hoàn thành”. và dừng con quay 0,5 giây sau đó.

Node Spinner cung cấp một loạt các tùy chọn tùy chỉnh, chẳng hạn như thay đổi kiểu và văn bản của spinner. Nó cũng hỗ trợ nhiều trình quay, cho phép bạn hiển thị các hoạt ảnh khác nhau cho các phần khác nhau của công cụ CLI của bạn.

Figlet GitHub Tóm tắt

Figlet là gói Node.js cung cấp một cách đơn giản để tạo tác phẩm nghệ thuật ASCII từ văn bản.

Để cài đặt figlet dưới dạng phụ thuộc, hãy chạy lệnh này:

 npm install figlet

Đây là một ví dụ về cách sử dụng figlet để tạo nghệ thuật ASCII:

 const figlet = require("figlet");

figlet("Hello World!!", (err, data) => {
  if (err) {
    console.log("Sorry, something went wrong");
    console.dir(err);
    return;
  }

  console.log(data);
});

Ví dụ trên tạo nghệ thuật ASCII với chuỗi “Xin chào thế giới!!” sử dụng Figlet và ghi nó vào bảng điều khiển.

Chạy ví dụ này sẽ tạo ra đầu ra sau:

quả sung

Figlet cung cấp nhiều kiểu phông chữ mà bạn có thể sử dụng để tùy chỉnh giao diện của tác phẩm nghệ thuật ASCII của mình. Bạn có thể chỉ định kiểu phông chữ bằng cách chuyển một đối tượng tùy chọn tới miếng nhỏ chức năng.

Ví dụ:

 figlet("Hello World!!", { font: "Bell" }, (err, data) => {})

Việc sử dụng Figlet trong công cụ CLI của bạn sẽ tạo thêm sự thú vị về mặt hình ảnh cho các công cụ của bạn và làm cho chúng hấp dẫn hơn đối với người dùng của bạn.

Khi chọn gói cho công cụ CLI của mình, bạn phải xem xét nhu cầu của mình và chọn gói cung cấp chức năng, kiểu dáng và khả năng tương thích đáp ứng chúng.

Hệ sinh thái Node.js cung cấp các gói khác nhau có thể phân tích đối số dòng lệnh, tạo giao diện người dùng dòng lệnh, hiển thị văn bản cách điệu, v.v. Tận dụng sự kết hợp chính xác sẽ cho phép bạn tạo các công cụ CLI vừa có chức năng cao vừa thân thiện với người dùng.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *