找不到部分ejs文件


无法找到Ejs部分|NODE JS

找不到包含文件";部分/标题";

由于某些原因,我的NODE JS程序找不到我试图包含在文件中的.ejs文件。

文件系统

我的视图路径看起来像

视图├───页│index.ejs│└───部分footer.ejsheader.ejs

源代码

Index.ejs

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>News Node App</title>
<%- include("partials/header"); %>
</head>
<body>
<div class="d-flex">

<%for (let i =0;i<articles.length;i++){ let currNews = articles[i]%>
<li>
<div class="news-cars">
<%=currNews.title%>
</div>
</li>
<%}%>
</ol>
</div> 
</body>
</html>

header.ejs我计划稍后添加导航栏

<link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z"
crossorigin="anonymous"
/>

错误日志

错误的完整日志在下面给出

Error: D:nodeblog-appviewspageindex.ejs:7
5|     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6|     <title>News Node App</title>
7|     <%- include("partials/header"); %>
8|   </head>
9|   <body>
10|       <div class="d-flex">

Could not find the include file "partials/header"<br>
at getIncludePath (D:nodeblog-appnode_modulesejslibejs.js:183:13)<br>
at includeFile (D:nodeblog-appnode_modulesejslibejs.js:309:19)<br>
at include (D:nodeblog-appnode_modulesejslibejs.js:689:16)<br>
at eval (D:nodeblog-appviewspageindex.ejs:10:17)<br>
at index (D:nodeblog-appnode_modulesejslibejs.js:691:17)<br>
at tryHandleCache (D:nodeblog-appnode_modulesejslibejs.js:272:36)<br>
at View.exports.renderFile [as engine] (D:nodeblog-appnode_modulesejslibejs.js:489:10)<br>
at View.render (D:nodeblog-appnode_modulesexpresslibview.js:135:8)<br>
at tryRender (D:nodeblog-appnode_modulesexpresslibapplication.js:640:10)<br>
at Function.render (D:nodeblog-appnode_modulesexpresslibapplication.js:592:3)<br>
at ServerResponse.render (D:nodeblog-appnode_modulesexpresslibresponse.js:1012:7)<br>
at D:nodeblog-appcontrollersnews-controller.js:10:25<br>
at processTicksAndRejections (internal/process/task_queues.js:97:5)<br>

尝试添加./partials/header
您还应该在main.js文件app.set('view engine','ejs')中设置视图引擎。安装ejs软件包后。

您不应该在<%- -%>标记后面使用分号。将ejs标签更改为在两个标签上都包含-。此外,请检查服务器文件是否具有app.set('view engine', 'ejs');最后,确保服务器文件与views文件夹处于同一层次结构级别。

最新更新