Экспресс-приложение.код get() на сервере не обновляется, но другой код сервера будет обновляться

#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))