0

Express 3.xにejs-localsを使用しています(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 に答える