Журнал консоли Nunjucks не работает как механизм шаблонов node js

Я новичок в создании шаблонов node js «nunjucks», у меня есть большая часть информации, доступной в документах nunjucks, но я не знаю, как консольировать переменную init?

я пробовал следующее, но не работал у меня:

{{ console.log(varible) }}


person HDB    schedule 17.09.2014    source источник


Ответы (2)


следующее отлично работало на переднем конце для меня:

Если вы хотите записать «Cabin» в виде строки, вы можете использовать

<script> console.log( "Cabin" )</script>

Если вы хотите зарегистрировать переменную, попробуйте:

{% set thing=5 %}
<script> console.log({{ thing }})</script>

... который возвращает 5 (число)

РЕДАКТИРОВАТЬ: Как указал Валорад ниже, если «вещь», которую вы пытаетесь указать, не является строкой, вам, возможно, придется выполнить некоторую обработку и добавить несколько фильтров перед console.log(); выводит правильную информацию в консоль, например:

<script> console.log(JSON.stringfiy({{ thing }}))</script>

ИЛИ, более вероятно:

<script> console.log('{{ data.page | dump | safe }}')</script>

Спасибо, Валорад, за отчет!

person atomboyd    schedule 15.09.2016
comment
Но что, если я не знаю, что это за вещь? Например, когда вещь является объектом, она выдает ошибку Uncaught SyntaxError: Неожиданный идентификатор в консоли, потому что она получает console.log([object Object]), отображаемый в DOM. - person Valorad; 25.01.2018
comment
Насколько я понимаю, [object Object] — это просто рендеринг строки. Вы пробовали <script> console.log(JSON.strigfiy({{ thing }}))</script>? Я чувствую, что определенно сталкивался с этим в прошлом, но не могу воссоздать проблему. Держать нас в курсе! - person atomboyd; 30.01.2018
comment
Нет, это тоже не работает, так как выводит обычную строку [object Object], а не объект json. Ну, на самом деле позже я нашел способ вывести это: <script> console.log('{{ data.page| dump | safe }}')</script> - person Valorad; 31.01.2018
comment
О да. Я почти предложил это, но я думал об этом, но, поскольку я не мог воссоздать это, я не мог это проверить. Это сработало для вас? (Документация Nunjucks не очень хороша, поэтому я иногда тоже консультируюсь с документацией jinja). \ - person atomboyd; 16.02.2018
comment
Так что оба этих варианта мне не подходят. Если я устанавливаю {{w.data}}, он печатает [Object object], но когда я использую консоль с JSON.stringify или просто с {{ w.data | dump }} в соответствии с документами (я пробовал и с | safe), выдает ошибку сборки шаблона. По иронии судьбы, если я вставлю в пример из документации ``` {% set items = [a, 1, { b : true}] %} {{ items | dump(2) }} ``` Это работает. Я очень расстраиваюсь в этот момент. - person gregwhitworth; 28.03.2020
comment
@gregwhitworth Похоже, что w.data не определено или установлено неправильно. Так как это работает, когда вы явно устанавливаете элементы в шаблоне. Я бы сосредоточился на любом коде, который у вас есть для доставки данных в шаблон для отображения. - person atomboyd; 23.04.2020

person    schedule
comment
Пожалуйста, добавьте некоторое объяснение к вашему ответу, чтобы другие могли извлечь из него уроки. - person Nico Haase; 21.10.2019