Движок EJS¶
В качестве альтернативы Handlebars вкратце рассмотрим применение другого движка представлений - EJS. Этот движок использует синтаксис, который во многом был заимствован из движка представлений Web Forms на платформе ASP.NET, который разрабатывался в компании Microsoft.
Вначале добавим пакеты ejs в проект с помощью команды:
1 | |
Определим в файле app.js следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
По факту здесь определен тот же код, что и в одной из предыдущих тем, только теперь устанавливается движок ejs:
1 | |
Далее добавим в папку views в папке проекта новый файл contact.ejs (представления в EJS по умолчанию имеют расширение .ejs):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Для работы с моделью представления используются выражения javascript, которые определяются с помощью тега <% выражение %>. Каждый блок кода - условная конструкция, цикл должны как и в javascript помещаться в фигурные скобки, соответственно для каждого блока определяется открывающая фигурная скобка и закрывающаяся:
1 2 3 | |
При обращении по адресу /contact приложение сгенерирует веб-страницу:
Частичные представления¶
EJS позволяет вставлять код одних представлений в другие с помощью функции include. Например, определим в папке views каталог partials, в который добавим два файла. Первый файл - menu.ejs будет иметь следующий код:
1 2 3 4 | |
И второй файл - footer.ejs будет предствлять футер:
1 | |
Теперь подключим эти файлы в contact.ejs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
В функцию include передается путь к вставляемому представлению. Файл app.js при этом остается тем же, что и выше. В итоге содержимое подключаемых представлений будет добавлено на веб-страницу:

