vendredi 1 juillet 2016

EJS won't compile due to missing closing bracket that I can't find

I'm just getting into development with node. For the template engine I'm using EJS. I'm trying to list some books sorted by their authors and while compiling this file I am getting an compiler Error that says I'm missing a bracket. But to me all of this looks fine.
EJS FILE:

<%for(var i = 0; i < books.length; i++) {%>
    <%for (var j = 0; j < books.length; j++) {%>
        <%=books[i].author%><
                    <% if (books[i].author == books[j].author) {%>
                         <%=books[j].title }%>
<%}%>
<%}%>

Error Log:

SyntaxError: missing ) after argument list in /home/maurice/WebstormProjects/NodeProject1/src/views/test.ejs while compiling ejs
at Object.Template.compile (/home/maurice/WebstormProjects/NodeProject/node_modules/ejs/lib/ejs.js:485:12)
at Object.compile (/home/maurice/WebstormProjects/NodeProject1/node_modules/ejs/lib/ejs.js:289:16)
at handleCache (/home/maurice/WebstormProjects/NodeProject1/node_modules/ejs/lib/ejs.js:148:16)
at View.exports.renderFile [as engine] (/home/maurice/WebstormProjects/NodeProject1/node_modules/ejs/lib/ejs.js:358:14)
at View.render (/home/maurice/WebstormProjects/NodeProject1/node_modules/express/lib/view.js:126:8)
at tryRender (/home/maurice/WebstormProjects/NodeProject1/node_modules/express/lib/application.js:639:10)

at EventEmitter.render (/home/maurice/WebstormProjects/NodeProject1/node_modules/express/lib/application.js:591:3) at ServerResponse.render (/home/maurice/WebstormProjects/NodeProject1/node_modules/express/lib/response.js:961:7) at /home/maurice/WebstormProjects/NodeProject1/src/routes/authorRoutes.js:17:17 at Layer.handle [as handle_request] (/home/maurice/WebstormProjects/NodeProject1/node_modules/express/lib/router/layer.js:95:5)

Aucun commentaire:

Enregistrer un commentaire