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