Làm việc với Nodejs Arguments

Nội dung bài viết

Trong bài viết này bạn sẽ học được cách lấy những Arguments trong Node.js và cách sử dụng hay cách truy cập chúng như thế nào? Trước hết chúng ta xem bình thường anh em chúng ta start node.js dưới đây:

$ node app.js

Giờ đây chúng ta muốn pass arguments nodejs thông qua cách gọi này thì sẽ có hai loại dưới đây:

  • Các đối số đơn lẻ chẳng hạn như node app.js myArg
  • Các đối số có kiểukey-value chẳng hạn như node app.js key=value

Bây giờ, bước tiếp theo là tìm hiểu cách bạn có thể truy cập arguments này trong ứng dụng Node.js của mình. Tiếp.

Process object nodejs

Trước tiên, nói sơ qua về Process object trong node.js là gì đã:

Trong Node.js, process Object là một đối tượng toàn cục và chứa thông tin về các process Node hiện tại. Vì nó là một đối tượng toàn cục, bạn có quyền truy cập trực tiếp vào nó ngay cả khi bạn không nhập nó vào ứng dụng của mình.

Hơn nữa, process có một thuộc tính được gọi argv, là một mảng chứa các arguments.

Ở đây tôi nghĩ bạn hay xem thêm về sự khác nhau giữa arguments và paramtes.

Ví dụ:

AnonyStick$ node app.js anonystick.com blog=anonystick.com

Ví dụ trên ta chú ý đến hai mục đó là anonystick.comblog=anonystick.com. Đây chính là arguments. Bạn có thể pass bao nhiêu cũng được, không giới hạn, tuỳ thuộc vào ứng dụng của bạn.

Get arguments trong Node.js

Xem lại ví dụ trên ta thấy:

$ node app.js anonystick.com blog=anonystick.com
  • node chính path của Node
  • app.js đường dẫn của tệp đang được thực thi

Do đó, bạn có thể loại bỏ chúng bằng cách sử dụng phương pháp splice JavaScript.

const arguments = process.argv.splice(2);

Dòng trên loại bỏ hai mục đầu tiên và giữ lại phần còn lại. Sau đó, nó lưu trữ mảng còn lại trong hằng số arguments.

Sau đó chúng ta có thể lấy theo index trong arguments được trả về:

 console.log(arguments[0]); //anonystick.com
console.log(arguments[1]); //blog=anonystick.com

Ngoài ra bạn cũng có thể sử dụng map function javascript để lấy giá trị như sau:

Bây giờ bạn có thể lặp lại các đối số hoặc truy cập chúng riêng lẻ như sau:

const myArgs = arguments.map(argument => {
    console.log(argument);
});

Để biết thêm về process object in nodejs bạn xem tham khảo tại trang node.js chính thức để biết thêm nhiều hơn.

Có thể bạn đã bị missing