Динамические шаблоны в EJS (node.js)
Кто-нибудь знает хорошее решение для включения шаблонов, имена которых будут известны только во время выполнения? EJS»s includes позволяет только указать точное имя файла / шаблона.
Случай использования: У меня есть макет статьи, и в каком-то локальном файле есть содержимое статьи HTML / EJS.
Для этого мне нужно что-то вродеhttps://github.com/visionmedia/ejs#includes но имя файла должно быть взято из локальной переменной:
Предположим, у меня есть такой обработчик (упрощенный):
app.get('/article/:article', function (req, res) {
var articleContent = req.params.article;
res.locals.articleContent = 'data/'+articleContent;
return res.render('article.ejs')
})
А в article.ejs (предположим, есть ejs-locals):
Есть ли возможность сделать это, или единственный вариант - загрузить содержимое статьи и поместить в articleContent, доступный для этого?
Проблема с этим решением состоит в том, что содержание статьи должно быть простым html (`<% - -%> ' не интерполируйте значение). Так что если внутри статьи мне нужно использовать какую-либо функцию EJS, мне нужно скомпилировать / визуализировать самостоятельно.
Может быть, кто-то уже знает, как это можно сделать с помощью какого-нибудь динамического включающего помощника для EJS, поэтому нет необходимости в дополнительном коде?