6

有没有办法使用 nodeJS 的 express + swig 模板将变量从服务器端传递到客户端 javascript?我知道它可以在 Jade 中完成,但我宁愿坚持使用更类似于 HTML 的模板引擎。谢谢你们的帮助!

4

2 回答 2

11

好的,我假设您可以使用 consolidate.swig 配置您的快递,如果不是,请阅读此链接(http://tinyurl.com/kcs8kvy)。好吧,我没有找到将变量值传递给客户端 javascript 的直接方法,但我找到了一种解决方法。

例如,您在快递路线中发送一个对象:

app.get("/", function(req, res){
  var myUser = { name: "Obama" };
  res.render("index", {user: myUser});
});

然后在您的 index.html 文件中,您可以创建一个脚本标签:

<html>

<body>
<script>
  var username = "{{user.name}}";
</script>

<script src="whatever.js"></script>
</body>

</html>

然后在您的whatever.js 文件中,用户名变量将以其正确的值可用。我希望这对你有帮助。

于 2013-09-16T01:29:47.707 回答
2

要将 json 对象从后端服务器传递到模板,您可以执行以下操作:

var 数据 = {{jsonData|raw|json}}

于 2019-05-17T11:53:43.950 回答