nodeJS + Swig模板将变量传递给javascript

时间:2013-09-04 14:50:51

标签: node.js express swig

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

2 个答案:

答案 0 :(得分:10)

好的我会假设您可以使用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文件中,username变量将以其正确的值可用。我希望这对你有所帮助。

答案 1 :(得分:0)

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

var data = {{jsonData | raw | json}}