0

我将 ejs-locals 用于 express 3.x (https://github.com/RandomEtc/ejs-locals)

如何从包含动态数据的模板中插入脚本标签?

在我的 layout.ejs 我有

<%- block.scripts %>

在我的页面模板 login.ejs 中,我想用一些动态数据替换它:

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

我收到一个错误:

500 SyntaxError: Unexpected token %- 我假设是因为我不能在<%= JSON.stringigy(err) %>这里做。

4

1 回答 1

2

我通过将脚本插入移动到 layout.ejs 解决了这个问题,因为它总是一样的。

    <% include script %>
  </body>

否则,您必须终止字符串:

//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>') %>
于 2012-09-23T01:09:59.670 回答