Узел JS Server, не может получить index.html - PullRequest
0 голосов
/ 08 октября 2018

Я делаю приложение с socket.io, так что сейчас я делаю пользовательский интерфейс с HTML и CSS, и все работает, за исключением того, что когда я пытаюсь использовать навигацию, чтобы вернуться к index.html егоне могу получить это.Другие элементы Nav работают, потому что они находятся в общедоступном каталоге, но если я переместу файл индекса в общедоступный каталог, он скажет, что он вообще не может найти index.html.Итак, мой главный вопрос: как мне найти файл HTML, отсутствующий в общедоступном каталоге, или найти файл индекса в общедоступном каталоге, с которого можно начать?

Структура файла:

index.html
server.js
public
   settings.html
   friends.html

HTML для навигации:

        <nav>
            <ul>
                <li><a href="http://localhost:5000/index.html" >Chat</a></li>
                <li><a href="http://localhost:5000/friends.html">Friends</a></li>
                <li><a href="http://localhost:5000/settings.html">Settings</a></li>
            </ul>
        </nav>

Соответствующий JS:

var express = require('express');
var app = express();
app.use(express.static('public'))

1 Ответ

0 голосов
/ 08 октября 2018

как мне сделать так, чтобы он мог найти html-файл не в публичном каталоге

Вам нужно:

  • Сделать ваш static поиск маршрута в корневом каталоге вместо общего каталога (не очень хорошая идея, потому что у вас там есть серверный код)
  • Настройка другого static маршрута (то же самое)
  • Написать явноеget обработчик для /, который имеет код, который читает index.html и возвращает его
...