使用nodejs vash模板通过脚本标记发送数据

我是nodejs的新手。 尝试从使用vash模板的nodejs服务器将带有引导的数据(以用户身份login)发送回带索引页的客户端。 根据用户是否login,需要客户端上的引导数据来启用/禁用某些选项。

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> } }) }) 

但是这会导致下面的stringify函数的客户端html中出现“UncaughtSyntaxError:Unexpected identifier”

  <script type="text/javascript"> window.bootstrappedUser = JSON.stringify([object Object]); </script> 

我试图在Github上查看Vash页面 ,但几乎没有关于使用vash的脚本块的文档。 我在'index.vash'里面使用了正确的语法,还是有一些我缺less的vashstring插值? 任何帮助将非常感激。

您必须通过nodeJs的JSON.stringfy(obj)发送数据

  <script> var test = @html.raw(@model) </script> 

意思

server.js

 app.get("*", function(req, res) { res.render("index", { title: "Page title", bootstrappedUser: JSON.stringfy(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 = @html.raw(a); </script> } }) })