/ / insertar etiqueta de script con datos usando ejs (ejs-locals) en express.js - javascript, node.js, express, ejs

inserte una etiqueta de script con datos usando ejs (ejs-locals) en express.js - javascript, node.js, express, ejs

Estoy usando ejs-locals para express 3.x (https://github.com/RandomEtc/ejs-locals)

¿Cómo insertaría una etiqueta de script desde una plantilla con datos dinámicos?

En mi layout.ejs tengo

<%- block.scripts %>

En mi plantilla de página login.ejs quiero reemplazarla con algunos datos dinámicos:

<% block("scripts", "<script> var app = window.app || {}; app.err = <%- JSON.stringify(err) %>, app.q = <%- JSON.stringify(q) %>; </script>") -%>

Me sale un error:

500 SyntaxError: Unexpected token % - Supongo que no puedo hacer <%= JSON.stringigy(err) %> aquí.

Respuestas

2 para la respuesta № 1

Resolví el problema moviendo la inserción del script a layout.ejs ya que siempre es lo mismo.

    <% include script %>
</body>

De lo contrario, debe terminar la cadena:

//this works but is rather cumbersome to do on every page template.
<% block("script", "<script>" +
"app.req.err = "+ JSON.stringify(err) +";n" +
"app.req.q = "+ JSON.stringify(q) +";n" +
"</script>") %>