Tôi có mã như thế này sẽ tạo ra một mẫu ngọc bích mà không có một tuyến đường được xác định. Hãy nghĩ về điều này giống như express.static nhưng nó gọi res.render với url.Làm thế nào tôi có thể bắt gặp lỗi hiển thị/mẫu bị thiếu trong node.js bằng cách sử dụng express.js?
app.use(function (req, res, next) {
try {
res.render(req.url.substring(1), { title: "No Controller", user: req.session.user });
} catch (err) {
console.log(err)
next();
}
});
Vấn đề là res.render() không phải là lỗi. Thay vào đó, nó sẽ hiển thị một trang lỗi. Có cách nào để phát hiện mẫu bị thiếu hoặc bất kỳ lỗi hiển thị nào không?
Tìm kiếm tuyệt vời. Chỉ trong tài liệu 3.x của nó nhưng nó hoạt động trong 2.x là tốt. – respectTheCode
Đã cập nhật câu trả lời để sử dụng 'res.send' thay vì' res.end'. 4.x tài liệu [cụ thể tiểu bang] (http://expressjs.com/api.html#res.end) "Nếu bạn cần phải trả lời với dữ liệu, thay vì sử dụng phương pháp như res.send()" –
Tôi nghĩ rằng điều này sẽ tạo 404 nếu có lỗi khi xử lý mẫu, nhưng có vẻ như không. Bất cứ ai quan tâm để giải thích lý do tại sao nó không? –