#javascript #node.js #express
Вопрос:
У меня есть узел js и экспресс-сервер, который я запускаю на локальном хосте. Недавно, при изменении кода сервера с
app.get('/', (req, res) => {
res.sendFile(__dirname '/public/index.html');
});
Для
app.get('/', (req, res) => {
res.send('home');
});
Сервер по-прежнему обслуживает «index.html» файл и не отправляет сообщение «домой». Я также попытался удалить все свои функции «app.get()» и «app.post ()», и они по-прежнему работают так, как это было до изменений. Я дважды проверил, что сохранил файл и перезапустил сервер, но даже тогда все равно делает то же самое. Странно то, что при изменении чего-либо еще в коде сервера, кроме моего экспресс-кода, он работает так, как ожидалось.
Я попытался найти свою проблему, но никто не испытывает тех же проблем. Любая помощь будет признательна, спасибо.
Комментарии:
1. Где остальная часть вашего кода, которая определяет ваши маршруты/использование? И какой URL вы на самом деле используете? А также, какой механизм создания шаблонов вы используете? В вашем вопросе отсутствуют некоторые важные детали, пожалуйста, отредактируйте свой пост и добавьте их.
Ответ №1:
Весь ваш код не указан в списке, так что это обоснованное предположение, но я бы проверил, используете ли вы express.static
или другой пакет для обслуживания каталога, который вы index.html файл находится в via app.use()
перед вашими маршрутами. По умолчанию express.static будет обслуживать index.html если указан корневой путь (‘/’).
Комментарии:
1. Я вижу, вы согласились с этим, для получения дополнительной информации, если вы все еще хотите использовать express.static, но переопределить корневой путь, вы можете добавить эту опцию
index: false
в его конструктор. Если вы хотите переопределить другой путь, вы можете объявить этот маршрут в файле раньше, чем вашapp.use(express.static(xxx))