[英]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.