【问题标题】:Include partial with ejs使用 ejs 包含部分内容
【发布时间】:2018-05-03 15:45:40
【问题描述】:

我正在尝试使用以下代码在我的页面中包含一个菜单:

<%- include ../common/menu %>

这里是文件目录:/views/common/menu.ejs

这是我的 menu.ejs:

<div class="button" id="menu-btn">
    <a class="btn-open" href="#"></a>
  </div>
  <div class="overlay">
    <div class="wrap">
      <ul class="wrap-nav">
        <li>
          <a href="/">Welcome Page</a>
          <ul>
            <li>
              <a href="/main">Main Page</a>
            </li>
            <li>
              <a href="/vungtau">Vũng Tàu</a>
            </li>
            <li>
              <a href="/suoimo">Đồng Nai - Suối Mơ</a>
            </li>
            <li>
              <a href="/dalat">Đà Lạt</a>
            </li>
            <li>
              <a href="/video">Video</a>
            </li>
          </ul>
      </ul>
    </div>
  </div>

我收到 500 Internal Server Error 但我不知道为什么?我正在关注本教程:https://scotch.io/tutorials/use-ejs-to-template-your-node-application

我在谷歌上做了很多搜索,但没有任何帮助。

【问题讨论】:

  • 你应该接受这个答案的解决方案。

标签: javascript node.js ejs


【解决方案1】:

试试这个

<%- include('../common/menu.ejs') %>

docs http://ejs.co/#docs

【讨论】:

  • 如果您收到 500 错误,这意味着您的服务器由于未指定的错误 500 error 而没有响应。 1.尝试重新启动服务器,2.检查你的文件结构,也许你的路径有错误,3.包含与包含调用的模板相关。 (这需要 'filename' 选项。)例如,如果你有 "./views/users.ejs" 和 "./views/user/show.ejs" 你会使用 。您需要将原始输出标记 (
【解决方案2】:

尝试使用这种新语法

<%- include("partials/header") %>
<%- include("partials/footer") %>

【讨论】:

    【解决方案3】:

    如果我使用这个文件夹结构:

    ../views/partials/header.ejs
    ../views/partials/footer.ejs
    ../views/users.ejs
    

    然后在 users.ejs 中:

    <%- include('./partials/header.ejs') %>
    <body>
    ...
    </body>
    <%- include("./partials/footer.ejs") %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      相关资源
      最近更新 更多