Я пытаюсь заставить JavaScript отображаться на моей странице, используя Jade (http://jade-lang.com/)
Мой проект находится в NodeJS с Express, все работает правильно, пока я не хочу написать несколько встроенных JavaScript в голове. Даже если взять примеры из Jade Docs, я не могу заставить его работать, что мне не хватает?
Нефритовый шаблон
!!! 5
html(lang="en")
head
title "Test"
script(type='text/javascript')
if (10 == 10) {
alert("working")
}
body
Результирующий визуализированный HTML в браузере
<!DOCTYPE html>
<html lang="en">
<head>
<title>"Test"</title>
<script type="text/javascript">
<if>(10 == 10) {<alert working></alert></if>}
</script>
</head>
<body>
</body>
</html>
Что-то определенно не хватает здесь каких-либо идей?
.
после(type='text/javascript')
!!! 5
устарела, вы должны использоватьdoctype html
Ответы:
просто используйте тег «script» с точкой после.
https://github.com/pugjs/pug/blob/master/examples/dynamicscript.pug
источник
<script>
вместо<script type="text/javascript">
.type="text/javascript"
значение по умолчанию дляtype
поля в<script>
тегах. Вам не нужно устанавливать это..
добавление. Итак,script.
следом за вашим отступом блок JS.:javascript
Фильтр был удален в версии 7.0В документах говорят , вы должны использовать
script
тег теперь, после чего.
полукокса и без предшествующего пространства.Пример:
будет скомпилировано в
источник
Используйте тег script с указанным типом, просто добавьте его перед точкой:
Это скомпилируется в:
источник
script.
было бы хорошо.Не используйте только тег скрипта.
Решение с
|
:Или с
.
:источник
.
. В противном случае вам придется писать|
в каждой строке.Третья версия моего ответа:
Вот многострочный пример встроенного Jade Javascript. Я не думаю, что вы можете написать это без использования
-
. Это пример флеш-сообщения, который я использую в частичном. Надеюсь это поможет!Код, который вы пытаетесь получить, чтобы скомпилировать код в вашем вопросе?
Если это так, вам не нужны две вещи: во-первых, вам не нужно объявлять, что это Javascript / скрипт, вы можете просто начать писать код после ввода текста
-
; во-вторых, после ввода-if
вам не нужно вводить{
ни то,}
ни другое. Вот что делает Джейд очень милой.-------------- ОРИГИНАЛЬНЫЙ ОТВЕТ НИЖЕ ---------------
Попробуйте предваряя
if
с-
:Есть также множество примеров Jade на:
https://github.com/visionmedia/jade/blob/master/examples/
источник
Для многострочного контента Jade обычно использует «|», однако:
Тем не менее, я не могу воспроизвести проблему, которую вы имеете. Когда я вставляю этот код в шаблон Jade, он выдает правильный вывод и выдает предупреждение при загрузке страницы.
источник
Используйте
:javascript
фильтр. Это сгенерирует тег сценария и экранирует содержимое сценария как CDATA:источник
script.
работает нормально и законно!!! 5
источник