Node.js | Язык шаблонов EJS



В прошлый раз мы создали Express приложение и указали EJS в качестве движка рендеринга. Пришло время рассказать о нём немного подробнее.



Самые любознательные уже осмотрели структуру сгенерированного приложения и нашли index.ejs в директории views. С помощью особого тега (<%=) на страницу выводится значение переменной title. Но существуют и другие теги:

<% - этот тег не выводит информацию, но его можно использовать для условий и циклов;

<%= - этот тег мы уже использовали, с помощью него можно вывести значение переменной, но стоит сделать замечание: значение выводится экранированным;

<%- - этот тег так же выводит значение, но уже без экранирования. Вывод переменной, допустим, со значением '<h1>hi!</h1>' создаст новый элемент h1;

<%# - тег комментария, он не выполняется и не выводится.



Шаблоны EJS поддерживают подргузку других шаблонов:

<%- include(template, params); %>

template - путь шаблона, например, 'user/show'

params - параметры, что попадут в шаблон.