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

Qco*_*com 4 partial-views node.js express

我有一个网络应用程序,整个布局保持不变,除了一个<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>
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

ijs*_*jse 7

我刚刚解决了.

你可以在视图中调用`partial(filename)`来加载partial.说我们使用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上搜索.