无法使用nodeJS在ejs中呈现错误页面

时间:2019-03-16 07:58:18

标签: node.js ejs

我希望在路径==='/'else''时激活该类。我使用三元运算符来激活该类。当路径相等时,该类处于活动状态,但是当路径不相等时,该类无法呈现我给出的错误页面

<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>

如果代码等于路径,但如果我想呈现错误页面,则代码运行不正常

check this image for error message

1 个答案:

答案 0 :(得分:0)

首先,在您的include语句中省略.ejs

<%- include('includes/navigation') %>

<%- include('includes/end') %>

接下来,在您的app.js上,您需要将路径作为 context 传递到视图:

app.get('/', function(req, res) {
  const path = '/';
  res.render('somePage', {path:path});    
});

app.get('/admin/add-product', function(req, res) {
  const path = '/admin/add-product';
  res.render('somePage', {path:path});    
});

现在,您不应该收到“未定义路径”错误。

希望有帮助!