如何正确使用ejs中的部分视图?

我有一个Web应用程序是整个布局保持不变,除了一个<div> 。 目前,我只是使用路由来处理链接,重新加载layout.ejs文件的其余部分似乎非常浪费,我唯一想改变的地方就是我的<div>

我在layout.ejs文件中需要更改什么? 这是我目前的文件:

 <!DOCTYPE html> <html lan="en"> <head> <title><%= title %></title> <link rel="stylesheet" href="/stylesheets/reset.css"> <link rel='stylesheet' href='/stylesheets/style.css' /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <script src="/nowjs/now.js"></script> <script src="/javascripts/chat.js"></script> </head> <body> <div id="wrapper"> <div id="header"> </div> <div id="chat"> <input type="text" id="text-input"> <input type="button" value="Send" id="send-button"> </div> <div id="content"> <%- body %> </div> <div id="rooms"> </div> <div id="footer"> <div id="footer_links"> <a href="/">Home</a> | <a href="/about">About</a> | <a href="/contact">Contact</a> </div> </div> </div> </body> </html> 

我正在考虑使用AJAX来使用这个,但是我听说过使用部分视图的一些好处。 我只是不确定如何设置。 另外,我听说可以使用部分视图而不是AJAX的WebSockets。 这是一个好主意,甚至可能吗?

对不起,这可能很简单。 我在文档上遇到困难。

谢谢!

我刚刚解决了。

您可以在视图中调用“partial(filename)”来加载部分。 假设我们使用EJS,并且`views /`中有三个文件:1. layout.ejs 2. index.ejs 3. header.ejs和index.ejs的内容是:然后启动服务器,浏览器它,你会看到`header.ejs`被加载到`index.ejs`。

! UPDATE

在快速版本> = 3.0中,不再有partial() 。 但是我们可以使用<% include xxx.file %> ,或者使用另一个模块:“express-partials”。 请在Github上search。