I’m using ejs-locals for express 3.x (https://github.com/RandomEtc/ejs-locals)
How would I insert a script tag from a template with dynamic data?
In my layout.ejs I have
<%- block.scripts %>
In my page template login.ejs I want to replace it with some dynamic data:
<% block('scripts', "<script> var app = window.app || {}; app.err = <%- JSON.stringify(err) %>, app.q = <%- JSON.stringify(q) %>; </script>") -%>
I get an error:
500 SyntaxError: Unexpected token % — i’m assuming because I can’t do <%= JSON.stringigy(err) %> here.
I solved the problem by moving the script insertion to layout.ejs since it’s always the same.
Otherwise, you have to terminate the string: