Шаблон EJS: использование forEach + include

У меня есть много файлов в папке, которые я хочу включить в шаблон (EJS).

Я пробую это:

 <% var test = ["foo.ejs"];
 _forEach(test, function(item){ %>
      <% include slides/item %>
  <% }); %>

Я бы использовал Nodejs для заполнения массива, заглянув в папку.

Но я получаю ошибку:

 Error: ENOENT, no such file or directory 'app/views/slides/item.ejs'

Похоже, что ejs не использует "item" как переменную.


person mdunisch    schedule 25.07.2014    source источник
comment
Я не думаю, что ты сможешь это сделать. Чтение из кода ejs, всего после 'include' рассматривается как расположение шаблона файла   -  person Hoan Nguyen    schedule 29.07.2014
comment
Здесь вы можете найти ответ на эту проблему   -  person Nurkhat Pazylov    schedule 10.06.2016
comment
Здесь есть решение: stackoverflow.com/ questions / 20775710 /   -  person Nurkhat Pazylov    schedule 10.06.2016


Ответы (2)


Похоже, теперь это поддерживается в EJS. Он был представлен в v2.0.1: 2015-01-02. Новый синтаксис выглядит так

‹% - include (yourVariable)%>

person Nurkhat Pazylov    schedule 10.06.2016

Для этой проблемы есть проблема в github. https://github.com/visionmedia/ejs/issues/93

person RanP    schedule 31.07.2014