Стандартный Pug и JavaScript
Здравствуйте!!!
Подскажите, каким образом можно обрабатывать данные в стандартном шаблонизаторе Node.js - PUG. К примеру я хочу итерируемые элементы обрабатывать своей js функцией. extends layout block content script. function myFunc(a){ a.chstotoSdelal(); } each val in body1.vacations p=myFunc(val.name) В данном примере выдвет myFuncis not a function. |
https://pugjs.org/language/code.html
Есть нюанс: код придётся писать одной строчкой. Типа doctype html html head title= title body - function foo() { var b = 'aaa'; return b; } - var a = foo(); h2 Hello, World! h3= a Результат: <!DOCTYPE html> <html> <head> <title>Hello</title> </head> <body> <h2>Hello, World!</h2> <h3>aaa</h3> </body> </html> А-а-а! Фирма веников не вяжет. doctype html html head title= title body - function foo() { var b = 'aaa'; return b; } - var a = foo(); h2 Hello, World! h3= a |
Спасибо! очень помог)
|
Еще вопрос задам, а можно както обратиться к переменной - var a = foo();
из например подключаемого файла script(src="/js/main.js") ? если например в main.js обратиться так alert(a) он выдаст Uncaught ReferenceError: a is not defined? |
Сылака src (как, впрочем, и href) есть обычный GET-запрос клиента (браузера) - соответственно, его содержание получит клиент (браузер).
А шаблонизатор (в данном случае) используется для формирования страницы на сервере. Котлеты отдельно - мухи отдельно. Но ты можешь использовать шаблонизатор на клиенте - и там все теги script будут работать в едином "пространстве имён". Вообще, на мой вкус, у тебя какие-то вопросы - к реальной жизни мало относящиеся (хотя, это и не плохо, наверное). Нопремер, зачем писать функцию в тексте шаблона, если её место в обработчике? Или - как в прошлом вопросе - зачем делать запрос у самого себя JSON-файла через ажно request, если этот файл можно просто прочитать fs.readFile()? Но интересно, конечно. |
Вообще, на мой вкус, у тебя какие-то вопросы - к реальной жизни мало относящиеся. Это точно, я только начал на практике писать и как оказалось node и mongo не самое непонятное))).
Но ты можешь использовать шаблонизатор на клиенте не совсем понял, т е у меня должен pug быть и на фронте и на бэкэнде? |
Не должен. Но если сильно хочется, то можно.
|
Часовой пояс GMT +3, время: 19:47. |