Làm cách nào để truyền đối số từ dòng lệnh trong Node.js?

Lam Cach Nao De Truyen Doi So Tu Dong Lenh Trong Node Js



Trong một số trường hợp, người dùng cần chuyển thông tin bổ sung để định cấu hình ứng dụng Node.js trong quá trình khởi chạy từ dòng lệnh. Để làm như vậy, người dùng chuyển thông tin đó bằng lệnh thực thi “ nút ” thay vì viết nó ra bên ngoài “.js” tập tin trong đó tất cả mã nguồn được viết. Thông tin đó có thể là một chuỗi, số, đối số, v.v.

Bài đăng này sẽ liệt kê tất cả các khía cạnh có thể có để truyền đối số từ dòng lệnh trong Node.js.







Đ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”.



Làm cách nào để truyền đối số từ dòng lệnh trong Node.js?

Để truyền đối số từ dòng lệnh, hãy sử dụng “ quá trình thuộc tính .argv”. Các ' argv ” là thuộc tính tích hợp của “ quá trình ” đượ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 mô-đun “ nút ' yêu cầu.



Cú pháp

Cú pháp tổng quát của “ quá trình Thuộc tính .argv” được viết ở đây:





quá trình. argv

Thông số: Các ' quá trình .argv” là thuộc tính không hỗ trợ bất kỳ tham số nào.

Giá trị trả về: Các ' quá trình Thuộc tính .argv” cung cấp một mảng làm đầu ra tiêu chuẩn chứa các phần tử sau:



  • quá trình.argv [0]: Nó đại diện cho đường dẫn của tệp thực thi.
  • quá trình.argv [1]: Nó biểu thị đường dẫn của tệp “. js ' tài liệu.
  • quá trình.argv [2]: Nó chỉ định đối số đầu tiên được truyền cùng với “ nút ' yêu cầu.
  • quá trình.argv [3]: Nó chỉ định đối số thứ hai được truyền cùng với “ nút ' yêu cầu.

Ghi chú : Hai phần tử đầu tiên luôn được hiển thị theo mặc định khi sử dụng 'process.argv' thuộc tính ngay cả khi người dùng không chuyển bất kỳ đối số nào.

Bây giờ, hãy áp dụng “ quá trình Thuộc tính .argv” thực tế để truyền các đối số từ dòng lệnh.

Ví dụ 1: Áp dụng thuộc tính “process.argv” để truyền đối số chuỗi từ dòng lệnh

Ví dụ này áp dụng “ quá trình.argv ” để truyền chuỗi dưới dạng đối số từ dòng lệnh với sự trợ giúp của khối mã được cung cấp bên dưới:

( để tôi = 0 ; Tôi < quá trình. argv . chiều dài ; ++ Tôi ) {
bảng điều khiển. nhật ký ( `chỉ số $ { Tôi } lý lẽ -> $ { quá trình. argv [ Tôi ] } ` ) ;
}

Trong các dòng mã trên:

  • Các ' Vòng lặp ” được xác định bằng một câu lệnh khởi tạo, điều kiện và câu lệnh tăng dần.
  • Bên trong ' ” điều kiện của vòng lặp, “ quá trình.argv ” thuộc tính được nối với thuộc tính “ chiều dài ” để nhận từng giá trị đối số được truyền cùng với thuộc tính “ nút ' yêu cầu.
  • Bên trong “ ” vòng lặp, “ console.log() ” Phương thức hiển thị từng giá trị đối số cùng với chỉ mục của nó.

đầu ra

Chạy ' mục lục .js” bằng cách sử dụng lệnh sau và cũng truyền các chuỗi làm đối số với nó:

chỉ số nút. js Chào mừng đến với Linuxhint

Đầu ra sau đây trước tiên hiển thị tệp thực thi và tệp “. js ” và sau đó hiển thị các chuỗi được truyền dưới dạng đối số cùng với chỉ mục của chúng:

Ví dụ 2: Áp dụng thuộc tính “process.argv” để cộng hai số được truyền dưới dạng đối số

Ví dụ này thực hiện phép cộng số học trên hai số được truyền dưới dạng đối số:

đã từng là tranh luận = quá trình. argv
chức năng thêm vào ( Một , b ) {
trở lại phân tích cú phápInt ( Một ) + phân tích cú phápInt ( b )
}
đã từng là Tổng = thêm vào ( tranh luận [ 2 ] , tranh luận [ 3 ] )
bảng điều khiển. nhật ký ( 'Cộng 1 với 9 là' , Tổng )

Trong đoạn mã trên:

  • Các ' tranh luận ' biến sử dụng ' quá trình Thuộc tính .argv” để lấy đối số từ dòng lệnh.
  • Tiếp theo, “ thêm vào ()” với “ A và B ” thông số áp dụng “ phân tích cú phápInt ()” để phân tích giá trị do người dùng nhập dưới dạng chuỗi và truy xuất số nguyên đầu tiên.
  • Sau đó, “ Tổng ” biến gọi “ thêm vào ()” bằng cách truyền vào “ lý lẽ [2]”, và “ lý lẽ [3]” của “ quá trình thuộc tính .argv”.
  • Cuối cùng, “ bảng điều khiển Phương thức .log()” hiển thị “ Tổng ” các giá trị biến là phần tử thứ nhất và thứ hai của mảng được trả về.

đầu ra

Bắt đầu “ mục lục .js” và chuyển các số làm đối số mà người dùng muốn thêm:

chỉ số nút. js 1 9

Đầu ra hiển thị phép cộng của hai số được truyền làm đối số trong khi chạy ứng dụng Node.js:

Ví dụ 3: Áp dụng thuộc tính “process.argv” để chỉ in các đối số đã truyền

Ví dụ này loại trừ hai phần tử mặc định đầu tiên khỏi mảng trả về của “ tiến triển thuộc tính .argv” và in tất cả các đối số đã truyền:

hằng số tranh luận = quá trình. argv . lát cắt ( 2 ) ;
tranh luận. cho mỗi ( ( giá trị , mục lục ) => {
bảng điều khiển. nhật ký ( mục lục , giá trị ) ;
} ) ;

Giải thích về các dòng mã trên như sau:

  • Thứ nhất, “ tranh luận ” biến áp dụng “ quá trình Thuộc tính .argv” cùng với thuộc tính “ lát cắt ()” để loại trừ hai phần tử đầu tiên khỏi mảng được trả về.
  • Tiếp theo, “ cho mỗi ()” truyền một hàm mũi tên với “ giá trị ' Và ' mục lục ” lần lượt là đối số thứ nhất và thứ hai. Nó sẽ hiển thị lần lượt tất cả các phần tử mảng trên màn hình đầu ra.
  • Cuối cùng, “ bảng điều khiển Phương thức .log()” hiển thị giá trị của “ mục lục ', Và ' giá trị ' thông số.

đầu ra

Thực hiện “ mục lục .js” và cũng truyền các đối số chuỗi bằng lệnh được nêu bên dưới:

chỉ số nút. js Chào mừng đến với Linuxhint

Bây giờ, đầu ra bên dưới chỉ hiển thị các đối số được truyền cùng với chỉ mục của chúng:

Đó là tất cả về việc truyền đối số từ dòng lệnh.

Phần kết luận

Node.js cung cấp “ quá trình Thuộc tính .argv” để truyền các đối số của người dùng từ dòng lệnh. Thuộc tính này cung cấp một mảng chứa tệp thực thi và phần mở rộng “. js ” đường dẫn tập tin tại “ thứ 0 ' và ' thứ nhất ” chỉ mục và các đối số được truyền tại “ lần 2 ' Và ' lần thứ 3 ” chỉ số. Thuộc tính này cho phép người dùng chuyển cả giá trị chuỗi và số dưới dạng đối số từ dòng lệnh. Bài đăng này đã giải thích một cách thực tế tất cả các khía cạnh có thể có của việc truyền đối số từ dòng lệnh trong Node.js.