Hướng dẫn router nodejs - bộ định tuyến nodejs
Trong các bài học vừa qua, ta đã biết cách route cho rất nhiều trang HTML cho các chức năng như liệt kê các user, tìm kiếm user, hiển thị thông tin chi tiết user, tạo mới user,... Điều mình muốn nói đến là, tất cả các dòng lệnh route này mình đều đặt trên một file app.js . Vậy nó có tốt??? Để trả lời câu hỏi này, ta hãy dựa vào thực tế một chút: Trong các dự án, ta không chỉ đơn giản là quản lý về user, mà còn có hàng tá, hàng tấn thứ khác. Vi dụ như một trang web bán hàng như Thế giới di động, hay lazada, shopee,... ta sẽ phải quản lý thêm các thông tin về các đối tượng như : Sản phẩm, Bình luận, Đơn hàng, Phân loại , vân vân và mây mây.Sản phẩm, Bình luận, Đơn hàng, Phân loại , vân vân và mây mây. Do đó, ta sẽ phải có cực kỳ nhiều dòng lệnh route cho mỗi đối tượng. Việc đặt tất cá các dòng lệnh này trong một file app.js như thế này thì chương trình vẫn chạy ổn, nhưng việc sửa chửa, nâng cấp và bảo trì sẽ cực kỳ khó khăn. Hãy tưởng tượng file này có thể lên đến cả ngàn dòng thì tìm thôi cũng đủ mệt Vậy, giải pháp đặt ra là gì? Đó là ta sẽ phân chia các route này theo từng đối tượng. Mỗi đối tượng có một file route riêng, như vậy, việc bảo trì sẽ dễ dàng hơn rất nhiều Ta sẽ bắt tay vào thực hành việc này với đối tượng user mà ta đã có
Các phần code còn lại không có gì thay đổi, các bạn có thể so sánh giữa 2 file này nhé Công đoạn cuối cùng, là ta phải export file user.js này để có thể require nó vào trong file app.js. Vì như mình đã nói ở các bài trước, khi server khởi chạy nó sẽ đọc thông tin từ file app.js. Do đó, ta sẽ phải require file user.js này để server có thể đọc đượcuser.js này để có thể require nó vào trong file app.js. Vì như mình đã nói ở các bài trước, khi server khởi chạy nó sẽ đọc thông tin từ file app.js. Do đó, ta sẽ phải require file user.js này để server có thể đọc được
Những bạn nào đã học JavaScript rồi thì sẽ biết về module.exports này. Bạn nào chưa rõ thì có thể tham khảo bài viết này nhé: Module exports
Vậy là ta đã hoàn tất việc phân chia route cho đối tượng user, xem lại code của 2 file app.js và user.js nhé
Bây giờ, các bạn hãy khởi động lại server và test lai các chức năng nhé. Nó sẽ hoạt động không khác gì các bài trước. Tuy nhiên, một lần nữa ta đã làm cho code rõ ràng, dễ bảo trì và sửa chửa hơn rất nhiều Bài học này có phần phức tạp hơn các bài học trước, hy vọng các bạn sẽ làm được. Thử thách cho các bạn để thực hành cho bài học này là: Hãy tạo các route cho đối tượng post bao gồm các thông tin là title và content, các route này tương tự các route về user . Nếu có thắc mắc gì hãy comment để cùng nhau giải đáp nhé!!!Hãy tạo các route cho đối tượng post bao gồm các thông tin là title và content, các route này tương tự các route về user . Nếu có thắc mắc gì hãy comment để cùng nhau giải đáp nhé!!! Bài sau chúng ta sẽ tìm hiểu về controller . Hẹn gặp lại các bạncontroller . Hẹn gặp lại các bạn |