node.js не выполняет никакого кода после обработки файла индекса. html - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь назначить идентификатор сессии для пользователя, когда он посещает индекс. html страница. Однако после выполнения запроса GET к «/» и индексации не выполняется никакой код. html * отправляется в качестве ответа.

Ниже приводится код, о котором идет речь

app.get('/', (req, res) => {
  // A unique identifier for the given session
  const sessionId = uuid.v4();
  if(req.session.uuid)
  {

  } else {
    req.session.uuid = sessionId;
  }
  console.log("Session ID : " + req.session.uuid);
  res.sendFile(path.join(__dirname+'/public/index.html'));
})

Также это хорошо Практикуйте явную отправку файла index. html, поскольку он отправляется даже после удаления вызова res.sendFile ().

1 Ответ

1 голос
/ 08 марта 2020

Я предполагаю, что до этого у вас есть обработчик промежуточного программного обеспечения express.static(), который обслуживает index.html, поэтому этот код никогда не запускается.

express.static() автоматически отправит index.html, если увидит запрос на /, а также увидит файл index.html в каталоге, на который вы указали express.static().

У вас есть три варианта исправления:

  1. Вы можете переместить этот обработчик до своего промежуточного программного обеспечения express.static(), чтобы он впервые получил трещину при обслуживании /.
  2. Вы можете переместить index.html в другой каталог, который express.static() не просматривает.
  3. Вы можете передать опцию express.static(path, {index: false}), чтобы запретить ей index.html.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...