Express.js инъекции живых переменных в файлы HTML? - PullRequest
0 голосов
/ 28 апреля 2018

Скажите, у меня есть переменная:

var n = 3

Допустим, эта переменная установлена ​​в приложении, работающем на стандартном сервере express.js со следующей конечной точкой:

var express = require(‘express.js’);
var app = express()

var n = 3

app.get(‘/‘, function(req,res) {
res.sendFile(__dirname + ‘/index.html’)
app.listen(3000)

Можно ли как-нибудь добавить содержимое n в index.html?

1 Ответ

0 голосов
/ 28 апреля 2018

Использовать механизм рендеринга шаблонов, например handlebars . Есть много других вариантов, но руль подойдет для вашего случая.

Механизм рендеринга шаблонов возьмет файл шаблона и объект с переданными значениями и отобразит его в HTML:

Добавьте руль в свой проект с помощью npm:

npm install hbs

в app.js

var express = require(‘express.js’);
var app = express()
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

var n = 3

app.get(‘/‘, function(req,res) {
  res.render('index', {n: n})
}
app.listen(3000)

Переместите index.html в views/index.hbs и используйте переданное значение следующим образом:

<html>
  <body>
    <p>The value of n is {{n}}</p>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...