繁体   English   中英

如何在layout.ejs上获取节点?

[英]How to get node to pickup on layout.ejs?

我正在使用Node.JS,Express和ejs。 我正在尝试创建一个布局供我的所有视图使用。 我按照这个答案 ,但它似乎没有被拿起。 我有一个带有我的观点的views目录。 在其中,我有我的layout.ejs:

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <div id="content">
    <%- body %>
    </div>
  </body>
</html>

然后我有我的index.ejs视图:

<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
<p>Testnet status: <%= testnet %></p>

然后我像这样呈现它:

res.render('index', { title: r.name, testnet: r.testnet });

但是,执行此操作后,布局不会被拾取。 没有<html>标记呈现在屏幕上。 我甚至尝试将此添加到我的app.js

app.set('view options', { layout: true });

但那也不起作用。 如何才能渲染我的布局?

我想这个答案指的是用于支持开箱即用布局的Express 2,如果你使用快递3,请注意默认情况下不再包含布局,你必须安装其中一个布局引擎。

我曾经决定使用ejs-locals ,使用它你的.ejs文件必须从一行开始:

<% layout('layout') -%>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM