问题描述
<header class="main-header">
<nav class="main-header__nav">
<ul class="main-header__item-list">
<li class="main-header__item"><a class="<%= path === '/' ? 'active' : '' %>" href="/">Shop</a></li>
<li class="main-header__item"><a class="<%= path === '/admin/add-product' ? 'active' : '' %>" href="/admin/add-product">Add Product</a></li>
</ul>
</nav>
当我尝试在 node js 应用程序中呈现页面时,出现错误。说有错误
我不太习惯编写 ejs,但是当我删除 navigation.ejs 中的 class="<%= path === '/' ? 'active' : '' %>"
时,它似乎可以工作
解决方法
使用 <%- include('RELATIVE/PATH/TO/FILE'); %>
将 EJS 部分嵌入到另一个文件中。
- 连字符
<%-
而不是<%
告诉 EJS 呈现原始 HTML。 - 部分的路径是相对于当前文件的。
- 并在包含的末尾使用
;
这是一个例子...
<!DOCTYPE html>
<html lang="en">
<head>
<%- include('../partials/head'); %>
</head>
<body class="container">
<header>
<%- include('../partials/header'); %>
</header>
<main>
<div class="jumbotron">
<h1>This is great</h1>
<p>Welcome to templating using EJS</p>
</div>
</main>
<footer>
<%- include('../partials/footer'); %>
</footer>
</body>
</html>