ejs include doesn't work with subfolders
ejs, express, node.js, template-engine
Solution
just change your include statement like this
<%- include("./partials/template/head.ejs") %>
this worked for me.
Problem
I am using express and ejs to build a website: ``` "dependencies": { "ejs": "^2.5.2", "express": "^4.14.0", ``` in my app.js I have defined ejs as template engine and the root of views: ``` app.set('view engine', 'ejs'); // set view engine app.set('views', 'app/views'); // set custom root for view engine ``` I then created my index.ejs file in which I included a partial from a subdirectory: index.ejs ``` <head><% include ./partials/template/head %></head> ``` folder structure: ``` - views index.ejs -- partials -- -- template head.ejs ``` When a start the server, index is loaded without errors but without the head section. If I change the include (pointing to a wrong location) the server fails to start highlighting the problem, so ejs is able to locate the head.ejs. if I move head.ejs in the views directory the head is correctly loaded in the index.ejs. So... I am a bit puzzled, it seems that in the subdirectory the file read but not loaded into the include. After searching for around I tried using express-partials but it has not helped much. Any clue? Cheers, Giovanni