我正在开发一个 Node.js 应用程序(这是一个游戏)。在这种情况下,我设置了一些代码,以便当一个人访问索引并选择一个房间时,他会被重定向到正确的房间。
现在,Express v2.5.8 正在这样做:
server.get("/room/:name/:roomId, function (req, res) {
game = ~databaseLookup~
res.render("board", { gameState : game.gameState });
}
在 board.ejs 中,我可以使用如下代码访问 gameState 方式:
<% if (gameState) { %>
<h2>I have a game state!</h2>
<% } %>
有没有办法将其导入我的 JavaScript 逻辑?我希望能够做类似 var gs = ~import ejs gameState~
的事情,然后能够用它做任何我想做的事——访问它的变量,将它打印到控制台进行验证。最后,我想用这个 gameState 做的是正确显示棋盘,为此我需要做一些事情,比如访问棋子的位置,然后在屏幕上正确显示它们。
谢谢!
原文由 Catherine Hwang 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以直接将 gameState 变量注入到页面上的 javascript 中。
另一种选择可能是在页面加载后对服务器进行 AJAX 回调,返回 gameState JSON,并将 clientGameState 设置为 JSON 响应。
您可能对此也感兴趣: 如何在 Node.js 和浏览器之间共享代码?