1

サーバー/クライアント側のレンダリングhtmlにejsとriot.jsを使用するWebアプリケーションを開発しています。私が聞きたいのは、サーバーから 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 })
  });

index.ejs

riot のカスタムタグに ejs で渡します。これは良いマナーですか?

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

navbar.tag

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

環境

  • node.js v5.3.0
  • 暴動.js v2.3.12
4

0 に答える 0