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'); -%>
Author by
the_prole
Updated on June 21, 2022Comments
-
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>