Làm cách nào để chấp nhận đầu vào từ dòng lệnh trong Node.js?

Lam Cach Nao De Chap Nhan Dau Vao Tu Dong Lenh Trong Node Js



Node.js là môi trường thời gian chạy JavaScript miễn phí mã nguồn mở nổi tiếng, cho phép người dùng thực thi mã JavaScript từ một tệp hoặc trực tiếp từ dòng lệnh. Chạy mã JavaScript từ một tệp yêu cầu có đuôi “. js ” trong khi dòng lệnh thực thi mã JavaScript trực tiếp từng dòng.

Đôi khi, người dùng cần định cấu hình thông tin trong khi khởi chạy ứng dụng Node.js từ dòng lệnh thông qua lệnh “ nút ”. Trong tình huống như vậy, người dùng cần chuyển trực tiếp thông tin đó làm đầu vào bằng lệnh thực thi thay vì ghi nó vào tệp “. js ' tài liệu.







Bài viết này sẽ thảo luận về tất cả các phương pháp có thể chấp nhận đầu vào từ dòng lệnh trong Node.js.



Làm cách nào để chấp nhận đầu vào từ dòng lệnh trong Node.js?

Node.js cung cấp các mô-đun sau để chấp nhận đầu vào từ dòng lệnh:



Hãy bắt đầu với “ dòng đọc ” mô-đun.





Điều kiện tiên quyết : Trước khi chuyển sang triển khai thực tế bất kỳ phương pháp nào, trước tiên hãy tạo tệp “. js ” với bất kỳ tên nào và viết tất cả mã nguồn vào đó. Ở đây, chúng tôi đã tạo ra một “ mục lục tập tin .js”.

Phương pháp 1: Chấp nhận đầu vào từ dòng lệnh bằng mô-đun “readline”

Các ' dòng đọc ” mô-đun tạo giao diện để đọc đầu vào của người dùng từ luồng có thể đọc được và trả về phản hồi của nó dưới dạng đầu ra kết quả. Đây là một mô-đun tích hợp để người dùng có thể nhập trực tiếp vào ứng dụng Node.js mà không cần cài đặt bằng cách sử dụng “ npm ”.



Trong trường hợp này, nó được sử dụng để lấy đầu vào từ dòng lệnh rồi in trên màn hình đầu ra. Đây là cách thực hiện thực tế của nó:

hằng số dòng đọc = yêu cầu ( 'dòng đọc' )
hằng số rl = readline. tạoGiao diện ( {
đầu vào : quá trình. stdin ,
đầu ra : quá trình. thiết bị xuất chuẩn
} )
rl. câu hỏi ( `Nền tảng tốt nhất nội dung kỹ thuật ? ` , trang mạng => {
rl. câu hỏi ( `Danh mục nào bạn muốn khám phá ? ` , loại => {
bảng điều khiển. nhật ký ( `Trang web : $ { trang mạng } , Loại : $ { loại } ` )
rl. đóng ( )
} )
} )

Mô tả các dòng mã trên như sau:

  • Thứ nhất, “ yêu cầu ()” nhập phương thức “ dòng đọc ” trong dự án Node.js hiện tại.
  • Tiếp theo, “ tạoGiao diện ()” chỉ định “ đầu vào và đầu ra ” luồng như một đối tượng. Các ' đầu vào ” luồng sử dụng “ quá trình.stdin ” thuộc tính để lấy đầu vào từ người dùng.
  • Các ' đầu ra ” luồng sử dụng “ quá trình.stdout ” để đọc luồng đầu vào và in nó dưới dạng đầu ra tiêu chuẩn của luồng đầu vào nhất định.
  • Sau đó, “ rl.question ()” lấy đầu vào từ người dùng. Nó chuyển câu hỏi làm đối số đầu tiên và hàm gọi lại làm đối số thứ hai. Hàm mũi tên gọi lại đã cho sẽ truy xuất các giá trị do người dùng nhập.
  • Trong định nghĩa đã cho “ trang mạng ', và ' loại ” chức năng mũi tên gọi lại, “ console.log ()” được sử dụng để hiển thị các giá trị đã nhập.
  • Cuối cùng, “ rl.đóng ()” sẽ đóng giao diện được tạo ở trên.

đầu ra

Bắt đầu “ mục lục .js” bằng cách thực hiện lệnh được cung cấp:

chỉ số nút. js

Đầu ra sau đây hiển thị giao diện readline lấy đầu vào của người dùng từ dòng lệnh và sau đó hiển thị giá trị đã nhập làm đầu ra tiêu chuẩn:

Phương pháp 2: Chấp nhận đầu vào từ dòng lệnh bằng cách sử dụng mô-đun “readline-sync”

Các ' đồng bộ hóa đọc ” là mô-đun của bên thứ ba truy xuất đồng bộ thông tin liên quan đến các câu hỏi được mã hóa cứng và lưu trữ câu trả lời tương ứng cho các hoạt động trong tương lai. Nó hoạt động như một giao tiếp giữa máy khách và máy chủ từ dòng lệnh.

Sự khác biệt chính giữa các mô-đun không đồng bộ và đồng bộ là “ không đồng bộ ” chặn việc thực thi mã nguồn cho đến khi tác vụ được chỉ định của nó không được thực hiện trong khi các mô-đun đồng bộ thực thi từng dòng mã một cách tuần tự.

Cài đặt mô-đun “readline-sync”

Các “đồng bộ hóa dòng đọc” mô-đun không phải là mô-đun tích hợp, vì vậy nó cần được cài đặt thủ công bằng cách thực hiện lệnh bên dưới:

dòng đọc cài đặt npm - đồng bộ hóa

Đầu ra cho thấy mô-đun readline-sync đã được thêm vào dự án Node.js hiện tại:

Bây giờ, hãy sử dụng “ đồng bộ hóa đọc ” thực tế bằng cách làm theo đoạn mã đã cho:

đã từng là readlineSync = yêu cầu ( 'đồng bộ hóa dòng đọc' ) ;
đã từng là tên emp = readlineSync. câu hỏi ( 'Tên nhân viên: ' ) ;
đã từng là jd = readlineSync. câu hỏi ( 'Mô tả công việc: ' ) ;
đã từng là công ty = readlineSync. câu hỏi ( 'Công ty: ' , {
} ) ;
bảng điều khiển. nhật ký ( tên emp + ' hoạt động như một ' + jd + ' TRONG ' + công ty ) ;

Giải thích đoạn code trên như sau:

  • Đầu tiên ' đồng bộ hóa đọc ” mô-đun được nhập vào bên trong tệp và đối tượng của nó được lưu trữ trong một biến mới “ readlineSync ”.
  • Tiếp theo, truy vấn được hỏi với sự trợ giúp của “ câu hỏi ()” bằng cách chỉ định nó làm đối số.
  • Quy trình tương tự được sử dụng để đặt các câu hỏi tiếp theo.
  • Sau đó, “ console.log ()” được sử dụng để hiển thị các giá trị đã nhập cùng với chuỗi được trích dẫn.

đầu ra

Thực hiện “ mục lục tập tin .js”:

chỉ số nút. js

Kết quả đầu ra cho thấy một cách đồng bộ, dữ liệu đầu vào từ người dùng đã được lấy và hiển thị bằng cách sử dụng “ đồng bộ hóa đọc mô-đun:

Phương pháp 3: Chấp nhận đầu vào từ dòng lệnh bằng mô-đun “nhắc nhở”

Các ' lời nhắc ” là một mô-đun không đồng bộ tạo ra một hàm nhắc nhở để lưu trữ dữ liệu đầu vào của người dùng dưới dạng giá trị của biến và sau đó truy xuất nó dưới dạng kết quả đầu ra. Nó không cần phải cấu hình rõ ràng luồng có thể đọc và ghi được, đó là lý do tại sao nó khá dễ sử dụng so với “ dòng đọc ” mô-đun.

Cài đặt mô-đun “nhắc nhở”

Các ' lời nhắc ” cũng là một mô-đun của bên thứ ba có thể dễ dàng cài đặt với sự trợ giúp của “ npm ” theo cách này:

lời nhắc cài đặt npm -- cứu

Trong lệnh trên, “ -cứu ” cờ thêm “ lời nhắc ” mô-đun vào “ gói.json ' tài liệu.

Có thể phân tích rằng “ lời nhắc ” đã được thêm vào dự án Node.js hiện tại:

Bây giờ, hãy sử dụng cài đặt “ lời nhắc ” thực tế với sự trợ giúp của đoạn mã sau:

hằng số lời nhắc = yêu cầu ( 'lời nhắc' )
lời nhắc. bắt đầu ( )
lời nhắc. lấy ( [ 'tên tác giả' , 'Loại' ] , ( lỗi , kết quả ) => {
nếu như ( lỗi ) {
ném lỗi

} khác {
bảng điều khiển. nhật ký ( `$ { kết quả. tên tác giả } hoạt động trên $ { kết quả. Loại } ` )

}
} )

Trong khối mã nêu trên:

  • Các ' yêu cầu ()” nhập phương thức “ lời nhắc ” mô-đun vào dự án.
  • Các ' bắt đầu ()” bắt đầu lời nhắc.
  • Các ' lấy ()” lấy đầu vào từ người dùng thông qua dòng lệnh. Nó chỉ định tên thuộc tính và hàm mũi tên gọi lại làm tham số thứ nhất và thứ hai.
  • Chức năng gọi lại với “ lỗi ' Và ' kết quả ” tham số xác định một “ nếu khác ' tuyên bố.
  • Nếu xảy ra bất kỳ loại lỗi nào thì “ nếu như khối ” sẽ đưa ra lỗi đó nếu không khối “ khác Khối ” sẽ hiển thị giá trị của các thuộc tính được chỉ định dưới dạng đầu ra.

đầu ra

Chạy ' mục lục tập tin .js”:

chỉ số nút. js

Đầu ra sau lấy đầu vào của người dùng dựa trên các thuộc tính được chỉ định và sau đó truy xuất các giá trị của chúng làm đầu ra:

Phương pháp 4: Chấp nhận đầu vào từ dòng lệnh bằng mô-đun “người hỏi”

Trong Node.js, “ người hỏi thăm ” là một cách dễ dàng để lấy dữ liệu đầu vào từ dòng lệnh. Nó đi kèm với một số phương thức hữu ích để lấy đầu vào từ người dùng và sau đó trả về đầu ra bằng cách sử dụng “ trả lời ” đối tượng và “. sau đó ()” phương thức tích hợp sẵn.

Nó rất hữu ích khi hỏi người dùng các loại câu hỏi khác nhau thông qua dòng lệnh như danh sách, tùy chọn, đầu vào, hộp kiểm, v.v. Nó cung cấp một cách thuận tiện để làm cho giao diện dòng lệnh có tính tương tác cao đối với các tác vụ dựa trên truy vấn.

Thực hiện theo hướng dẫn chi tiết về “ Lấy dữ liệu đầu vào từ dòng lệnh bằng Node.js Inquirer ” để trình diễn thực tế.

Mẹo: Làm cách nào để truyền đối số từ dòng lệnh trong nút?

Người dùng cũng có thể truyền đối số từ dòng lệnh. Với mục đích này, “ quá trình.argv “Tài sản có thể được sử dụng. Các ' argv ” là thuộc tính tích hợp của mô-đun “process” được sử dụng để truyền các đối số từ dòng lệnh trong khi chạy ứng dụng Node.js bằng cách sử dụng “ nút ' yêu cầu.

Thực hiện theo hướng dẫn chi tiết về “ Truyền đối số từ dòng lệnh trong Node.js ” để trình diễn thực tế.

Đó là tất cả về việc chấp nhận đầu vào từ dòng lệnh trong Node.js.

Phần kết luận

Để chấp nhận đầu vào từ dòng lệnh, hãy sử dụng lệnh không đồng bộ “ dòng đọc ”, hoặc đồng bộ “ đồng bộ hóa đọc ” mô-đun. Hơn nữa, nó cũng có thể được thực hiện thông qua “ lời nhắc ' hoặc là ' người hỏi thăm ” mô-đun. Ngoại trừ “ đồng bộ hóa đường đỏ ” mô-đun, tất cả các mô-đun còn lại đều không đồng bộ. Bài viết này đã thảo luận về tất cả các phương pháp có thể chấp nhận đầu vào từ dòng lệnh trong Node.js.