variables在脚本标记中不可用

我正在使用passportjs在我的快速应用程序上进行用户身份validation。 但是我遇到了一个奇怪的问题:

在我的索引路线中,我使用user参数来渲染index.jade模板

router.get('/', function(req, res, next) { res.render('index', { user: req.user }); }); 

现在在我的玉模板中,我有以下

 block content if user h1 logged in #{user} script var shared_resources.user = user if !user h1 Not logged in 

出于某种原因,该用户的条件传递正好在那里。 而且当我打印出用户对象login#{用户}它打印出来的细节罚款。 然而,在脚本标签内,我得到一个未捕获的引用,用户没有定义。 有谁知道这是为什么发生?

您还需要在scrip标签中使用模板string。

 script var shared_resources.user = "#{user}" 

如果你想embedded对象,你可以尝试以下。

 script var shared_resources.user = !{JSON.stringify(user).replace(/<\//g, '<\\/')}