2016-09-03 18 views

Trả lời

12

Nếu bạn có dữ liệu (nói từ cơ sở dữ liệu) cần được hiển thị cho HTML, bạn có thể sử dụng công cụ mẫu để lấy dữ liệu và mẫu và đưa nó vào HTML (sau đó được phân phát cho ứng dụng khách).

Nếu ứng dụng giao diện người dùng của bạn giống nhau, sử dụng các cuộc gọi XHR hoặc một cái gì đó tương tự để truy xuất dữ liệu từ máy chủ, thường không hữu ích khi kết xuất với phía máy chủ HTML (thay vào đó, dữ liệu được gửi dưới dạng JSON cho máy khách).

Vì vậy, tùy thuộc vào cách ứng dụng của bạn (cả giao diện người dùng và phụ trợ) được cấu trúc nếu có ý nghĩa hoặc không sử dụng công cụ tạo khuôn mẫu.

Ngoài ra còn có các giải pháp hỗn hợp trong đó HTML ban đầu được hiển thị phía máy chủ và sau đó phía máy khách "tiếp quản". Đây là một cái gì đó, ví dụ, React hỗ trợ. Ý tưởng lớn đó là bạn có thể sử dụng cùng một thành phần trên máy chủ và trên máy khách, và khi một trang được mở, người dùng sẽ thấy trang được hiển thị đầy đủ (thay vì phía máy khách phải truy xuất dữ liệu từ chương trình phụ trợ đầu tiên và sau đó hiển thị trang).

5

Bạn thực sự không cần đến chúng, nhưng họ có rất nhiều tính năng mà làm cho trang web của bạn năng động hơn ..

Ví dụ, bạn có thể làm cho chỉ HTML sử dụng mã này

app.get('/',function(req,res){ 
    res.sendFile(path.join(__dirname+'/index.html')); 
    //__dirname : It will resolve to your project folder. 
}); 

Nhưng với động cơ bạn có thể gửi dữ liệu đến mẫu. http://expressjs.com/en/api.html#res.render

// pass a variable to the view 
res.render('somePage', { 
    title: 'Awesome title', 
    userFriends: friendsList, 
    name: 'loggedUserName' 
}); 

Và bây giờ trên các mẫu front-end (EJS trong trường hợp này) sẽ cư html với dữ liệu mà bạn gửi. Vì vậy, html trở nên năng động và bạn có thể làm cho mỗi trang trông khác nhau cho mỗi người dùng.

<ul> 
    <% for(var i=0; i<userFriends.length; i++) {%> 
    <li><%= userFriends[i] %></li> 
    <% } %> 
</ul> 

Chỉ với HTML, bạn cần thực hiện nhiều cuộc gọi AJAX không cần thiết để nhận và thêm dữ liệu vào html, ý tưởng tồi.

Hy vọng điều này sẽ hữu ích.

0

Công cụ xem cho phép bạn hiển thị HTML bằng các tùy chọn. Ví dụ, sử dụng squirrelly, tôi có thể tạo ra một tập tin đó trông như thế này:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>{{title}}</title> 
    </head> 
    <body> 
    {(userIsSignedIn){<!-- if the user is signed in, display username and description--> 
    <p>{{username}} is {{description}}</p> 
    }} 

    {(!userIsSignedIn){<!--if user isn't signed in, ask them to sign in--> 
    <p>Sign in to view this page</p> 
    }} 

    </body> 
</html> 

Vì vậy, tôi có thể lắng nghe, ví dụ, để một URL lý lịch thành viên năng động với Express và sau đó trở về nội dung động.

Các vấn đề liên quan