Let's say I saved a snipplet of a footer. How do I "include" that in my current template?
6 Answers
EJS makes it very simple to use includes. Here is how it is described in the EJS README:
Includes are relative to the template with the include statement, for example if you have "./views/users.ejs" and "./views/user/show.ejs" you would use <% include user/show %>. The included file(s) are literally included into the template, no IO is performed after compilation, thus local variables are available to these included templates.
<ul>
<% users.forEach(function(user){ %>
<% include user/show %>
<% }) %>
</ul>
So, in your case, if the footer resides in the same directory as the file you want to include it in, you would simply add <% include footer %>
to your file.
the right syntax is <%- include('<path>', <object with extra parameters>) %>
include is a function Includes are relative to the template with the include call. (This requires the 'filename' option.) For example if you have "./views/users.ejs" and "./views/user/show.ejs" you would use <%- include('user/show'); %>.
You'll likely want to use the raw output tag (<%-) with your include to avoid double-escaping the HTML output.