Экспресс-маршрутизация API

В моем API, написанном на узле, у меня есть два промежуточного программного обеспечения:

app.use('/api', apiRouter);
app.use('/*', express.static('public'));
  • первый обслуживает api (например, /api/users - возвращает всех пользователей, но не входит в мое приложение)

  • второй сервер мое приложение (написано на React)

Однако я попытался реализовать рендеринг на стороне сервера. Чтобы проверить, работает ли это вообще, я просто сделал следующее:

app.get('/', (req, res) => {
   res.send('<div>Hello SSR</div>');
});

Однако при входе в мое приложение из SSR ничего не возвращается. То же самое, если я отключу JS в своем браузере.

Думаю, что с app.use('/*', express.static('public')); что-то не так

Жду любой помощи. Спасибо.

Вы пытались удалить эти вызовы app.use? А как у вас отлаживать ваше приложение?

undefined 15.09.2018 16:39

Если вы добавили свой маршрут / после маршрута /*, он никогда не будет совпадать.

user6019272 15.09.2018 16:39

@undefined Я пробовал минуту назад. Удивительно, но это тоже не работает.

Patrickkx 15.09.2018 16:58

Как определяется ваш объект Router? Когда вы указали, что ничего не возвращается, вы имеете в виду 0-байтовый ответ или бесконечную загрузку? PS. Обратите внимание, что в документации Expressjs рекомендуется использовать обратный прокси для повышения производительности.

Diogo Silvério 16.09.2018 04:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
57
1

Ответы 1

Маршруты заказаны. Добавьте свой app.get('/', ...) перед последним app.use('/*', ...).

Другие вопросы по теме