【发布时间】:2013-09-04 14:50:50
【问题描述】:
有没有办法使用 nodeJS 的 express + swig 模板将变量从服务器端传递到客户端 javascript?我知道它可以在 Jade 中完成,但我宁愿坚持使用更类似于 HTML 的模板引擎。谢谢大家的帮助!
【问题讨论】:
有没有办法使用 nodeJS 的 express + swig 模板将变量从服务器端传递到客户端 javascript?我知道它可以在 Jade 中完成,但我宁愿坚持使用更类似于 HTML 的模板引擎。谢谢大家的帮助!
【问题讨论】:
好的,我假设您可以使用 consolidate.swig 配置您的 express,否则请阅读此链接 (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 文件中,用户名变量将以其正确的值可用。希望对您有所帮助。
【讨论】:
要将 json 对象从后端服务器传递到模板,您可以这样做:
var data = {{jsonData|raw|json}}
【讨论】: