我有一个网络应用程序,除了一个<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来使用它,但我听说过使用部分视图的一些好处。我根本不确定如何设置它。另外,我听说可以使用部分视图的WebSockets而不是AJAX。这是一个好主意,甚至可能吗?
对不起,这可能很简单。我在文档上遇到了困难。
谢谢!
答案 0 :(得分:7)
我刚刚解决了。
<德尔> 你可以在视图中调用`partial(filename)`来加载partial。说我们使用EJS,`views /`中有三个文件: 1. layout.ejs 2. index.ejs 3. header.ejs index.ejs的内容是: 然后,启动服务器,浏览它,你会看到`header.ejs`被加载到`index.ejs`。 德尔>!!!更新
在快递版本&gt; = 3.0中,不再有partial()
。但我们可以使用<% include xxx.file %>
,或者只使用另一个模块:“express-partials”。请在Github上搜索。