Could not find include include file

17,658

Solution 1

Include paths are relative, you will need to update your paths to include the "partials" subfolder e.g.

<% include partials/header %>
<h1>welcome</h1>
<% include partials/footer %>

See the docs

Solution 2

Try any of these:

<% include header.ejs %>
<% include header %>
<%- include('header.ejs'); -%>
<%- include('./header.ejs'); -%>
Share:
17,658
the_prole
Author by

the_prole

Updated on June 21, 2022

Comments

  • the_prole
    the_prole almost 2 years

    I'm running a simple server

    var express = require('express')
    var app = express()
    
    app.set('view engine', 'ejs'); 
    app.use(express.static('public')) 
    
    // home page request handler
    app.get('/', function (req, res) {
    
        res.render('home')
    })
    
    // initializes request listener
    app.listen(process.env.PORT, process.env.IP, function(){
        console.log("Server is listening");
    })
    

    When I make a GET request for the home page, run-time throws the following error

    Error: Could not find include include file.
        at getIncludePath (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:152:13)
        at includeSource (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:276:17)
        at /home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:629:26
        at Array.forEach (native)
        at Object.generateSource (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:605:15)
        at Object.compile (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:509:12)
        at Object.compile (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:358:16)
        at handleCache (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:201:18)
        at tryHandleCache (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:223:14)
        at View.exports.renderFile [as engine] (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:437:10)
    

    I don't understand this error. Any ideas? I'm working in Cloud9.

    My directory structure is

    v1.1
      +---views
      |     +---- home.ejs
      |     +---- partials
      |               +------ header.ejs
      |               +------ footer.ejs
      |
      +----app.js
    

    home.ejs

    <% include header %>
    <h1>welcome</h1>
    <% include footer %>
    

    header.ejs

    <DOCTYPE! html>
        <html>
            <head>
                <title>
                    <link rel="stylesheet" hreff="app.css">
                </title>
            </head>
        <body>
    

    footer.ejs

        </body
    </html>