Проверьте обновление внизу
Я предполагаю, что вы используете express
- проверьте настройки вашего приложения.
app.set('view options', { pretty: false })
Если у вас есть jade
рендеринг в режиме pretty
(pretty: true
), тогда ваш сгенерированный источник (теги) упорядочится с вложенным отступом.Отключение красивой печати должно решить вашу проблему (хотя убедитесь, что у вас нет конечного пробела, как указано @alessioalex).
Если у вас есть причина, по которой вам нужно вывести красивое форматирование (спецификация клиента, вмой случай) тогда можно попробовать другие вещи.У меня была похожая проблема с тегом textarea
;разочарование, потому что пробелы фактически вводятся в содержание формы.Я обошел это, вставив буквальный HTML-код с закрывающим тегом:
<textarea name="someField"></textarea>
документы могут дать вам больше подробностей (в этом случае найдите html
).Существует открытая проблема # 341 на github, которая предлагает подход, подобный , этот для скалята , но в настоящее время он не работает в jade
(по состоянию на версию 0.19.0
).
HTH
Обновление
Хорошо - тонко и круто ... есть лучший способ сохранить сексуальный вывод от pretty: true
и избежатьинтервал внутри тега (мой textarea
пример) ... Я только что попытался добавить .
в конец тега (см. код), и он Just Worked ™ : -)
form(name='frmname', method='POST')
textarea(name='someField').
Отображает:
<form name="frmname" method="POST">
<textarea name="someField"></textarea>
</form>
Красота!
Почему это работает?Поскольку jade
обрабатывает суффикс .
на теге как индикатор того, что тег будет содержать текстовый блок (только), а затем текстовый блок не предоставляется, поэтому по умолчанию используется ''
, пустая строка.