Các lệnh
Thuộc phần Kiến thức cơ bản về Node.js trong hành trình Node.js của Coddy. Bài học 4 trên 33.
Công cụ sẽ thực hiện một số việc, và từ đầu tiên cho biết việc cần làm.
Phép phân rã lấy từ đầu tiên và gom phần còn lại vào một mảng (array):
// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
console.log(Number(rest[0]) * 2);
}action là từ đầu tiên và rest chứa mọi từ phía sau. rest.join(' ') ghép các từ đó lại thành một chuỗi (string). Một chuỗi if và else if chọn việc cần làm. Cuối cùng, else sẽ xử lý mọi từ bạn không dự tính, kể cả lỗi gõ.
Thử thách
DễCông cụ của bạn sẽ thực hiện một số việc, và từ đầu tiên sau node notes.js cho biết đó là việc gì. Giờ đây, công cụ nhận biết hai lệnh add và list, cùng với câu trả lời cho mọi từ mà nó không biết.
- Trong
notes.js, thay cả hai dòng khởi tạo. Tách các từ saunode notes.jsthành lệnh, là từ đầu tiên, và phần còn lại, gồm tất cả các từ khác. - Dùng một chuỗi
if,else if,elseđể chọn việc cần làm dựa trên lệnh. Mỗi lệnh in ra đúng một dòng:addin raAdding:theo sau là phần còn lại của các từ, được nối bằng dấu cách.node notes.js add Buy milkin raAdding: Buy milk.listin raNo notes yet. Ghi chú vẫn chưa được lưu ở đâu cả; việc đó sẽ được thực hiện trong chương 3.- Mọi từ đầu tiên khác đều in ra
Unknown command:theo sau chỉ bằng từ đầu tiên đó.node notes.js remove 3in raUnknown command: remove, không kèm3.
- Không được in ra nội dung nào khác. Nếu dòng in ra
Adding:từ bài học trước vẫn nằm bên ngoài chuỗi điều kiện, dòng đó sẽ chạy với mọi lệnh,listsẽ in ra hai dòng và các bước kiểm tra sẽ thất bại.
Cả ba trường hợp đều kết thúc bình thường, với mã thoát 0. Bài học tiếp theo sẽ biến các lệnh không xác định thành lỗi.
Thử nhé: nhập từng nội dung sau vào ô bên cạnh $ node notes.js rồi nhấn Enter.
add Buy milkhiển thịAdding: Buy milk.listhiển thịNo notes yet.remove 3hiển thịUnknown command: remove.List, với chữ L viết hoa, hiển thịUnknown command: List. JavaScript so sánh văn bản từng ký tự, bao gồm cả chữ hoa, vì vậyListkhông phải làlist.
Tự làm thử
// Công cụ ghi chú của bạn bắt đầu từ đây.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
Tất cả bài học trong Kiến thức cơ bản về Node.js
1Chạy JavaScript trên Node
Xin chào, NodeĐọc lệnhĐối số dòng lệnhCác lệnhTự luyện tập: Playground Express