Cách xây dựng ứng dụng CLI trong Node.js

Cách xây dựng ứng dụng CLI trong Node.js
Những độc giả như bạn giúp ủng hộ MUO. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm.

Ứng dụng CLI (Giao diện dòng lệnh) là các ứng dụng dựa trên văn bản đơn giản chạy trong thiết bị đầu cuối để hoàn thành các tác vụ cụ thể. Các ứng dụng CLI đóng một vai trò quan trọng trong quy trình làm việc của hầu hết mọi nhà phát triển và chuyên gia CNTT.





Chúng hầu hết là các công cụ tiện ích tương tác với hệ điều hành hoặc ứng dụng được cài đặt cục bộ hoặc có sẵn qua internet để thực hiện một tác vụ theo đầu vào và chỉ thị của người dùng.





Hiểu ứng dụng CLI

Giao diện dòng lệnh cho phép bạn tương tác với chương trình bằng cách nhập các dòng văn bản. Nhiều chương trình CLI chạy khác nhau tùy thuộc vào lệnh bạn sử dụng để khởi động chúng.





trình khám phá tệp windows 10 rất chậm

Ví dụ, chương trình ls hiển thị thông tin tập tin và nội dung của các thư mục. Bạn có thể chạy nó như thế này:

 ls -l /home

Lệnh này bao gồm:



  • Tên của chương trình: ls .
  • Một tùy chọn (hoặc cờ). Trong trường hợp này, -l là một tùy chọn viết tắt của 'dài' và cung cấp thông tin chi tiết hơn.
  • Một cuộc tranh cãi, /trang chủ . Ở đây, đối số chỉ định đường dẫn đến thư mục để hiển thị thông tin.

Mặc dù mỗi chương trình có thể xác định giao diện dòng lệnh riêng, nhưng một số thành phần nhất định lại phổ biến và được sử dụng rộng rãi. Bạn nên tuân theo các tiêu chuẩn này để người quen với giao diện dòng lệnh có thể sử dụng chương trình của bạn một cách dễ dàng.

Commander.js là gì?

Commander.js là gói cho phép bạn xây dựng ứng dụng CLI trong Node.js . Nó có một thư viện tính năng phong phú cho phép bạn xây dựng một ứng dụng CLI tiêu chuẩn, thực hiện nhiều công việc nặng nhọc. Bạn chỉ phải xác định các lệnh, tùy chọn và chức năng cho ứng dụng CLI của mình.





Kết hợp nó với các gói khác như Chalk.js để tạo kiểu, bạn có thể nhanh chóng tạo một ứng dụng CLI đầy đủ chức năng trong Node.js.

Xây dựng ứng dụng CLI trong Node.js bằng Commander.js

Hãy xem xét một ứng dụng CLI mẫu, đô thị-cli, tra cứu ý nghĩa của các từ và chữ viết tắt trên mạng xã hội từ từ điển đô thị . Bạn sẽ học cách tạo CLI và xuất bản nó lên npm đăng ký gói để người khác có thể cài đặt nó.





Tạo một thư mục mới và khởi tạo dự án Node.js mới bằng các lệnh sau:

không đủ chô trông trong đia
 mkdir urbanary-cli 
cd urbanary-cli
npm init -y

CLI này sẽ sử dụng Axios để gửi yêu cầu HTTP đến API từ điển đô thị. Bạn có thể dùng API nhanh để kiểm tra điểm cuối và xem thông tin xác thực.

  Ảnh chụp màn hình của API từ điển đô thị's page on Rapid API show user API credentials

CLI đơn giản với lệnh phụ và trợ giúp

Để bắt đầu xây dựng CLI của bạn, hãy cài đặt Commander và Axios bằng lệnh sau:

 npm install commander axios 

Tạo một thư mục mới, thùng rác , trong thư mục dự án của bạn và một tệp trống mới, chỉ mục.js :

 mkdir bin 
cd bin
touch index.js

Các thùng rác (viết tắt của 'binary') thư mục rất quan trọng vì nó chứa tệp điểm vào mà Node gọi khi bạn chạy CLI. Các chỉ mục.js tập tin là tập tin điểm vào này. Bây giờ, hãy chỉnh sửa tệp index.js và bắt đầu xây dựng CLI của bạn bằng API Commander.js.

Đầu tiên, nhập chương trình đối tượng từ Chỉ huy:

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

Bạn sẽ sử dụng chương trình đối tượng để xác định giao diện chương trình của bạn, bao gồm các lệnh phụ, tùy chọn và đối số. Đối tượng có các phương thức tương ứng cho từng phương thức này; ví dụ: để xác định một lệnh phụ, hãy sử dụng yêu cầu phương pháp.

Xác định một tìm thấy lệnh phụ để CLI tra cứu các từ trong Từ điển đô thị và thêm mô tả cho từ đó bằng mã bên dưới:

 // index.js 
program
    .command('find <word>')
    .description('find meaning of a word or abbreviation or slang')

Điều này đăng ký một tìm thấy lệnh, yêu cầu một từ sau nó và mô tả cho nó. Việc sử dụng dấu ngoặc nhọn biểu thị rằng từ đó là đối số bắt buộc; thay vào đó hãy sử dụng dấu ngoặc vuông ( [] ) để làm cho nó tùy chọn.

Bạn nên thêm mô tả vì Commander.js sử dụng nó để tạo văn bản trợ giúp. Khi bạn chạy ứng dụng với giúp đỡ lệnh, bạn sẽ nhận được hướng dẫn sử dụng tiêu chuẩn.

Để kiểm tra điều này, hãy thêm vào như sau:

 program.parse()

Sau đó chạy chương trình và truyền nó giúp đỡ lệnh để có được đầu ra bên dưới:

bảo vệ màn hình riêng tư tối đa iphone 11 pro
  Ảnh chụp màn hình hiển thị đầu ra của việc chạy lệnh trợ giúp

Đây là cách bất kỳ ứng dụng CLI tiêu chuẩn nào sẽ hiển thị trợ giúp của nó cho người dùng và với Commander, bạn không phải lo lắng về việc tự tạo nó. Các -h --giúp đỡ các tùy chọn rất hữu ích để kiểm tra hướng dẫn sử dụng lệnh.

Xác định các lựa chọn và chuẩn bị chương trình cuối cùng

Bạn cũng xác định một tùy chọn bằng cách xâu chuỗi lựa chọn phương pháp định nghĩa lệnh.

Dưới đây là cách xác định tùy chọn bao gồm các ví dụ trong định nghĩa của từ:

 program.option('-e, --example', "Display examples") 

Và đây là cách xác định một tùy chọn chỉ định số lượng định nghĩa cần trả về:

 program.option( 
    '-c, --count [amount]',
    'amount of definitions to display (max is 10)'
)

Các lựa chọn phương thức chấp nhận hai tham số chuỗi, một cho tên của tùy chọn (cả dạng ngắn và dạng dài) và tham số còn lại cho mô tả của nó. phần bổ sung [số lượng] lập luận trong đếm tùy chọn là giá trị cho số lượng định nghĩa sẽ hiển thị.

Bây giờ, phương pháp cuối cùng cần thêm là hoạt động phương pháp. Bạn sẽ triển khai các tìm thấy chức năng của lệnh trong phương thức này. Thêm nó vào chuỗi để mã của bạn bây giờ trông như thế này:

 program 
    .command('find <word>')
    .description('find meaning of a word or abbreviation or slang')
    .option('-e, --example', "Display examples")
    .option(
        '-c, --count [amount]',
        'amount of definitions to display (max is 10)'
    )
    .action(async (word, options) => {});

Với thiết lập này, đây là lệnh để có được ba định nghĩa về cười với các ví dụ sẽ trông giống như:

 urbanary-cli find lol -e -c 3 

​Hoặc sử dụng dạng dài của mỗi tùy chọn:

 urbanary-cli find lol --example --count 3