Dạo này mình đang làm một số project với Node, và mình có thắc mắc nên dùng cách nào để kết nối trang web và server.
Mình biết được 2 cách như sau:
- Tách riêng web và server ra: khi nào cần thì web gọi API lấy dữ liệu về và xử lý
- Bỏ web vào chung backend cho server render dưới dạng template. Server sẽ trả về trang HTML được render luôn.
Cách 2 theo mình thì nó không tách biệt rõ ràng frontend và backend, và phải dùng một template engine và viết web theo cú pháp của nó (khá phức tạp) nên sẽ khó maintain hơn.
Mình nghiêng về cách 1 hơn, nhưng không rõ phải deploy và routing cho nó thế nào. Nếu điều hướng theo file .html và thư mục thì làm sao cho nó mất đi phần đuôi tệp, và như vậy có ảnh hưởng gì không.
Ví dụ như có 2 page là index.html
và login.html
.
Nếu dùng cách 2 thì mình bắt hai route là /
trả về index.html
và /login
trả về login.html
.
Còn cách 1 thì mình để 2 file trong cùng thư mục gốc và cho người dùng truy cập vào luôn. Trong 2 file ấy sẽ có script để gọi API tới server. Nhưng khi route đến phải đúng tên file, ví dụ /index.html
và /login.html
nó mới hiển thị.
Mình không rõ thực tế người ta làm như thế nào, hoặc có thể mình hiểu sai gì đó. Mong nhận được góp ý từ mọi người.