Как отправить некоторый контекст с сервера узла в шаблон HTML без использования каких-либо шаблонизаторов - PullRequest
0 голосов
/ 04 ноября 2018

server.js

app.get('/',(req,res) => {
  let context = {title:"api",message:"root"}
  res.sendFile(__dirname + '/views/index.html',context)
})

index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    title{{title}}
    message{{message}}
  </body>
</html>

как я могу отправить заголовок и сообщение в index.html, который назначен в переменной contextx.

Я нашел много способов сделать это с помощью некоторых шаблонизаторов, таких как jade, ejs, pug и т. Д., Но я хочу это в чистом html.

пожалуйста, взгляните на мой код ....

1 Ответ

0 голосов
/ 05 ноября 2018

Без использования шаблонизаторов, таких как jade, ejs, pug или клиентских библиотек, таких как angular, реагируют.
Вы не можете интерполировать значение {{title}} на стороне html.

Другой подход заключается в использовании JavaScript для получения подробностей с сервера

HTML-файл

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
      <div id="test">
      </div>
    <script type="text/javascript">
        let url="http://localhost:8001/test";
        fetch(url).then(response => response.json())
        .then( (result) => {
            console.log('success:', result)
            let div=document.getElementById('test');
            div.innerHTML=`title: ${result.title}<br/>message: ${result.message}`;
        })
        .catch(error => console.log('error:', error));
    </script>
  </body>
</html>

server.js

app.get('/test',(req,res)=>{
    //res.sendFile(__dirname +"/views/test.html",);
    res.json({title:"api",message:"root"});
})

app.get('/render',(req,res)=>{
    res.sendFile(__dirname +"/views/test.html");
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...