Nếu bạn đang sử dụng Node.js thì debug là cực kỳ hiệu quả để thay thế cho console.log()
Về cơ bản, nó là một thay thế cho console.log() ngoại trừ bạn có thể bật nó ở dòng lệnh bằng DEBUG biến môi trường dựa trên cách bạn đã khởi tạo biến đó trong mỗi tệp.
Hãy nói rằng tôi có một dự án với một vài tập tin tham chiếu từ file index.js tôi:
one.js
var debug = require('debug')('one-one');
var func = function() {
debug('func');
}
two.js
var debug = require('debug')('one-two');
var func = function() {
debug('func');
}
Bạn đã debug được khởi tạo với tên "one-one" trong tệp đầu tiên và "one-two" trong tệp thứ hai.
Trên dòng lệnh tôi có thể chạy chúng như thế này:
node index.js
Kết quả: không có đầu ra debug. Tuy nhiên, nếu tôi chạy nó như thế này:
DEBUG=* node index.js
Cả hai báo cáo debug sẽ được viết ra, tuy nhiên, trong màu sắc khác nhau và với tên debug (một một hoặc One-Two) vì vậy tôi có thể biết được chúng xuất phát từ tệp.
Bây giờ, giả sử bạn muốn thu hẹp thêm một chút. Bạn có thể chạy:
DEBUG = * - hai chỉ mục nút.js
Để chỉ nhận được kết quả từ debug đó là được thiết lập với "-Hai" vào cuối tên hoặc
DEBUG = one- * nút index.js
để mọi thứ bắt đầu bằng "one-"
Bạn cũng có thể nói rằng bạn muốn mọi thứ, hoặc tập hợp mọi thứ hoặc loại trừ mẫu hoặc tập hợp. Để loại trừ một cái gì đó bạn đặt trước nó với một dấu gạch ngang, một ví dụ:
DEBUG = một *, khỉ *, - khỉ: chuối, -elephant, -chimp: * nút index.js
này sẽ bao gồm tất cả mọi thứ bắt đầu với "một" hay "khỉ" và không bao gồm bất cứ điều gì được gọi là "khỉ: chuối", hoặc "con voi" hay bắt đầu bằng "tinh tinh:"
Nếu bạn muốn loại trừ tất cả mọi thứ trừ thì:
DEBUG = *, - patter n1, -pattern2 node index.js
Lòng biết ơn sâu sắc! Đã tìm thấy một số thứ! :) – zavg