Передача динамического HTML-шаблона в express-ejs - PullRequest
1 голос
/ 13 мая 2019

Я работаю над чем-то, что получает ввод (html-css-js) от пользователя, и внутри этого шаблона я хочу заполнить его данными из моей базы данных и отобразить их (рендеринг на стороне сервера важен)

Мой landingPage.ejs просто имеет заголовки тегов, которые будут отображать мой шаблон на данный момент.

<html>
<%- body -%>
</html>

Теперь рассмотрим мой маршрут API

router.post(/:user/:landingPage, (req, res) => {
   // Eventually this will be from our req.body
   const body =  `<html>
                  <title> <%= myObject.headline =%> </title>
                  <body>
                  <h1> <%=  myObject.headline %></h1>
                  <% if(myObject.para)  { %>
                  <% } %>
                  <p>  <%= {myObject.para} %>
                  <button> <%= {myObject.ca} %></button>
                  </body>
                  </html>`

   const myObject = {
         ca: "Learn more",
         headline: "This is Headline",

    }

 res.render('landingPage.ejs', 

})

В приведенном выше уведомлении о маршруте API <title> <%= myObject.headline =%> </title> или <button> <%= {myObject.ca} %></button> данные для него должны поступать с const myObject, а последняя строка res.render('landingPage.ejs' является неполной

Как я могу отобразить что-то / данные из моего объекта в моем шаблонизаторе? (обратите внимание, что вышеуказанный объект содержит <% if(myObject.para) { %>, поэтому мы не можем использовать интерполяцию строк)

...