【问题标题】:Why is my ejs templates won't display properly?为什么我的 ejs 模板无法正常显示?
【发布时间】:2020-10-13 06:18:01
【问题描述】:

我正在尝试显示一个网页,但我不断收到此错误:

找不到包含文件“layouts/_header”

<%- include("layouts/_header") %>
<div class="container">    
    <div class="row justify-content">
        <div class="col-xl-12">
            <div class="mb-2">
                <h3>Ajouter variable</h3>

我还包括了这条路径app.set("views", path.join(__dirname, "views"));,这样我就可以缩短呼出时间。我不知道它是否会改变任何东西,但我在显示视图之前使用了路由文件和控制器。

这是我的文件架构:

  • 查看次数
    • 布局
      • _header.ejs
      • _footer.ejs
    • 变量
      • variables.ejs

【问题讨论】:

  • 您能否提供有关此错误的更多信息?喜欢您的文件夹结构,也请您向我们提供更好的错误消息。
  • 我改了希望更好
  • 您是否为ejs 设置了view engine?添加此代码而不是 &lt;%- include('./layouts/_header.ejs'); %&gt; 并发布您的代码,而不是发布 linkimage,这样它可能会帮助您获得更好的解决方案,而不会投反对票。
  • 感谢您的建议。我发布了我找到的答案
  • 如果你们也可以给我的答案投票,这样我就可以达到 50 点人气,最后把 cmets 给其他帖子,那就太好了。谢谢

标签: javascript node.js path ejs


【解决方案1】:

所以问题是路径调用错误。

我的电话是&lt;%- include("layouts/_header") %&gt;

但它需要被称为&lt;%- include("../layouts/_header") %&gt;

因为我的名为“variable.ejs”的视图被放置在视图的子文件夹中。

  • 查看次数
    • 布局
      • _header.ejs
      • _footer.ejs
    • 变量
      • variables.ejs

所以路径不是根据你的 index.js(你启动服务器的文件)所在的位置,而是你当前文件所在的位置。

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2019-06-05
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多