#node.js #pug #ejs
#node.js #pug #ejs
Вопрос:
мне было интересно, как выполнить js перед рендерингом?
Это не удается
-#{somejs} // Outputs just the js-code
p #{somejs()} // Executes the js-code, but doenst render the html
// В EJS я просто пишу. Но как я могу сделать это с помощью node?
<%- somejs() %>
// Я пытаюсь использовать express-messasges (https://github.com/visionmedia/express-messages ) с использованием Jade вместо ejs
Комментарии:
1. Если обработка сложная, не лучше ли было бы выполнить ваш javascript перед рендерингом шаблона jade? Например, в маршруте, который вызывает
res.render()
. Для простых вещей, таких как вычисления альтернативной раскраски строк, встроенный- blah()
делает свое дело.
Ответ №1:
У меня работают оба следующих:
- var test = Math.sqrt(16);
div #{test}
или
div #{Math.sqrt(25)}
Если возможно, не могли бы вы, пожалуйста, опубликовать свой somejs()
? Вы уверены, что это создает HTML-строку?
Ответ №2:
Чтобы использовать экспресс-сообщения с помощью jade, используйте этот код в своем шаблоне:
- var m = messages()
!= m
Ответ №3:
Комментарии:
1. Кстати: я пытаюсь использовать express-messasges ( github.com/visionmedia/express-messages ) с использованием Jade вместо ejs