Движок 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
при этом остается тем же, что и выше. В итоге содержимое подключаемых представлений будет добавлено на веб-страницу: