Node.js Nunjucks控制台日志不能作为节点js模板引擎使用
我是节点js“nunjucks”模板的新手,我在nunjucks文档中获得了大部分可用信息,但我不知道如何控制变量init 我尝试了以下方法,但没有奏效:Node.js Nunjucks控制台日志不能作为节点js模板引擎使用,node.js,nunjucks,Node.js,Nunjucks,我是节点js“nunjucks”模板的新手,我在nunjucks文档中获得了大部分可用信息,但我不知道如何控制变量init 我尝试了以下方法,但没有奏效: {{console.log(varible)}以下内容在前端对我来说很好: 如果您想以字符串形式记录“CAB”,可以使用 <script> console.log( "Cabin" )</script> console.log(“客舱”) 如果要记录变量,请尝试: {% set thing=5 %} <scr
{{console.log(varible)}
以下内容在前端对我来说很好:
如果您想以字符串形式记录“CAB”,可以使用
<script> console.log( "Cabin" )</script>
console.log(“客舱”)
如果要记录变量,请尝试:
{% set thing=5 %}
<script> console.log({{ thing }})</script>
{%set thing=5%}
log({{thing}})
…返回5(数字)
编辑:正如Valorad在下面指出的,如果您试图指出的“东西”不是字符串,那么您可能需要进行一些处理,并在console.log()之前添加一些过滤器;在控制台中输出正确的信息,例如:
<script> console.log(JSON.stringfiy({{ thing }}))</script>
console.log(JSON.stringfiy({{thing}}))
或者,更有可能:
<script> console.log('{{ data.page | dump | safe }}')</script>
console.log({{data.page | dump | safe}}})
感谢瓦洛拉德回来报道
<script>
console.log({{ surveyData | dump | safe}})
</script>
log({surveyData | dump | safe}})
但如果我不知道“东西”是什么呢?就像当“thing”是一个对象时,它在控制台中抛出一个错误“Uncaught SyntaxError:Unexpected identifier”,因为它在DOM中呈现“console.log([object object])。据我所知,[object object]只是一个字符串呈现。您是否尝试过console.log(JSON.strigfiy({{{thing}}))
?我觉得我以前确实遇到过这种情况,但似乎无法重现这个问题。随时通知我们!不,这也不起作用,因为它输出的是纯[object]字符串,而不是json对象。事实上,我后来发现了一种输出方法:console.log({{data.page{dump{safe}}')
Ah,是的。我差点就提出了这个,但是我想了这个,但是因为我不能重新创建它,所以我不能测试它。这对你有用吗?(Nunjucks文档不是超级棒,所以我有时也会咨询jinja文档)\所以这两种选择对我都不适用。如果我设置{{w.data}}
它会打印[Object Object]
,但是当我使用JSON.stringify
或简单地使用{w.data | dump}
对每个文档进行设置时(我也用|safe
尝试过),它会抛出一个模板构建错误。具有讽刺意味的是,如果我从文档``{%set items=[“a”,1,{b:true}]]}{{items | dump(2)}}}}`粘贴到示例中,效果会很好。在这一点上我感到非常沮丧。请在你的回答中添加一些解释,以便其他人可以从中学习