आंशिक ejs फ़ाइल नहीं मिली

Sep 16 2020

Ejs भाग नहीं मिल सका | एनओडीई जेएस

शामिल फ़ाइल "partials / शीर्ष लेख" नहीं मिल सका

किसी कारण से मेरा NODE JS प्रोग्राम .ejs फ़ाइल नहीं ढूँढ सका है जिसे मैं अपनी फ़ाइल में शामिल करने का प्रयास कर रहा हूँ।

फाइल सिस्टम

मेरे विचारों का मार्ग दिखता है

विचारों
    ├───पृष्ठ
    J index.ejs
    │
    └───पक्ष
            footer.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>

हैडर.जेएस मैं बाद में नावबार जोड़ने की योजना बना रहा हूं

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

त्रुटि संग्रह

त्रुटि के लिए पूर्ण लॉग नीचे दिया गया है

Error: D:\node\blog-app\views\page\index.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:\node\blog-app\node_modules\ejs\lib\ejs.js:183:13)<br>
    at includeFile (D:\node\blog-app\node_modules\ejs\lib\ejs.js:309:19)<br>
    at include (D:\node\blog-app\node_modules\ejs\lib\ejs.js:689:16)<br>
    at eval (D:\node\blog-app\views\page\index.ejs:10:17)<br>
    at index (D:\node\blog-app\node_modules\ejs\lib\ejs.js:691:17)<br>
    at tryHandleCache (D:\node\blog-app\node_modules\ejs\lib\ejs.js:272:36)<br>
    at View.exports.renderFile [as engine] (D:\node\blog-app\node_modules\ejs\lib\ejs.js:489:10)<br>
    at View.render (D:\node\blog-app\node_modules\express\lib\view.js:135:8)<br>
    at tryRender (D:\node\blog-app\node_modules\express\lib\application.js:640:10)<br>
    at Function.render (D:\node\blog-app\node_modules\express\lib\application.js:592:3)<br>
    at ServerResponse.render (D:\node\blog-app\node_modules\express\lib\response.js:1012:7)<br>
    at D:\node\blog-app\controllers\news-controller.js:10:25<br>
    at processTicksAndRejections (internal/process/task_queues.js:97:5)<br>

जवाब

1 SagarKarki Sep 16 2020 at 07:30

जोड़ने का प्रयास करें ./partials/header।
आपको अपने main.js फ़ाइल में दृश्य इंजन भी सेट करना चाहिए app.set('view engine','ejs')। ejsपैकेज स्थापित करने के बाद ।

PsiKai Sep 16 2020 at 07:34

आपको अपने <%- -%>टैग के बाद अर्धविराम की आवश्यकता नहीं होनी चाहिए । -दोनों टैग पर शामिल करने के लिए अपने ejs टैग बदलें । इसके अलावा, जाँच करें कि आपकी सर्वर फ़ाइल app.set('view engine', 'ejs');अंतिम रूप से है, सुनिश्चित करें कि आपकी सर्वर फ़ाइल viewsफ़ोल्डर के समान ही पदानुक्रमित स्तर पर है ।