1

我正在开发一个 Web 应用程序,它使用 ejs 和 riot.js 进行服务器/客户端渲染 html。我想问的是通过服务器的 ejs 将数据渲染到 riot.js。对于这个问题,我准备了一个在 html 上呈现用户信息的示例。

实际上我可以将数据传递给 html,但我无法相信我通过 ejs 的 javascript 呈现信息的方式。如果有更好的方法,请教我。

server.js(快递)

  router.get('/login', function(req, res) {
    var user = {};
    if(req.user) {
      user.email = req.user.local.email;
    };
    res.render('login', { user: user })
  });

索引.ejs

使用 ejs 传递给 riot 的自定义标签。这种方式好不好?

<html>
<body>
  <navbar></navbar>
    <script>
      riot.mount('navbar', { user: <%- JSON.stringify(user) %> });
    </script>
</body>
</html>

导航栏标签

<navbar>
  <div>user's email: { user.email} </div>
  <script>
      this.user = opts.user
  </script>
</navbar>

环境

  • node.js v5.3.0
  • riot.js v2.3.12
4

0 回答 0