我是nodejs的新手。尝试使用vash模板从nodejs服务器发送一些引导数据(登录用户)返回到具有索引页面的客户端。需要客户端上的自举数据,以根据用户是否已登录启用/禁用某些选项。
server.js如下所示:
app.get("*", function(req, res) {
res.render("index", {
title: "Page title",
bootstrappedUser: req.user
});
});
index.vash
@html.extend('layout', function(model) {
@html.block("scripts", function(model){
@if(model.bootstrappedUser) {
@{
var a = model.bootstrappedUser;
}
<script type="text/javascript">
window.bootstrappedUser = JSON.stringify(@a);
</script>
}
})
})
但这会导致&#34; UncaughtSyntaxError:意外的标识符&#34;在下面的stringify函数的客户端html中:
<script type="text/javascript">
window.bootstrappedUser = JSON.stringify([object Object]);
</script>
我试图在Github上查找Vash page但是几乎没有关于使用vash的脚本块的文档。我在'index.vash&#39;中使用了正确的语法吗?或者是否有一些我错过的vash字符串插值?任何帮助将不胜感激。
答案 0 :(得分:0)
你必须从nodejs然后
通过JSON.stringfy(obj)发送数据setorder(a, X, -Z)
indx <- a[, .I[seq_len(n)], by = X]$V1
a[indx]
# ID X Z
# 1: DEF 1 0.8609154
# 2: GHI 1 0.6660838
# 3: DEF 2 0.6403106
# 4: ABC 2 0.6222994
# 5: GHI 3 0.6935913
# 6: ABC 3 0.6092747
# 7: ABC 4 0.6233794
# 8: GHI 4 0.5449748
# 9: GHI 5 0.2827336
# 10: NA NA NA
平均
server.js
<script>
var test = @html.raw(@model)
</script>
index.vash
app.get("*", function(req, res) {
res.render("index", {
title: "Page title",
bootstrappedUser: JSON.stringfy(req.user)
});
});