/ / inserisci tag di script con i dati usando ejs (ejs-locals) su express.js - javascript, node.js, express, ejs

inserisci tag script con dati usando ejs (ejs-locals) su express.js - javascript, node.js, express, ejs

Sto usando ejs-locals per Express 3.x (https://github.com/RandomEtc/ejs-locals)

Come inserire un tag di script da un modello con dati dinamici?

Nel mio layout.ejs ho

<%- block.scripts %>

Nel mio modello di pagina login.ejs voglio sostituirlo con alcuni dati dinamici:

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

Ottengo un errore:

500 SyntaxError: Unexpected token % - Sto assumendo perché non posso farlo <%= JSON.stringigy(err) %> Qui.

risposte:

2 per risposta № 1

Ho risolto il problema spostando l'inserimento dello script in layout.ejs poiché è sempre lo stesso.

    <% include script %>
</body>

Altrimenti, devi terminare la stringa:

//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>") %>