Есть много способов go об этом, и это действительно зависит от того, что вы ищете. Если вы говорите, что хотите качество продукции, тогда вам не обязательно размещать оба API и обслуживать файлы stati c на одном и том же сервере.
Пройдя по этому пути, вы либо получите to:
- Используйте nginx для разделения запросов
/api
и прокси для вашего Express. js проекта, работающего на другом порту - Забудьте о nginx и используйте Express. js, чтобы также обслуживать файлы stati c для любого запроса, который не начинается с
/api
(но Nginx намного лучше обрабатывает файлы stati c, а вы этого не делаете хотите занять ваш Node.js процесс)
Вы обнаружите, что многие компании размещают свои API на отдельном субдомене, например api.twitter.com
.
Если вы go о Таким образом, у вас будет гораздо больше гибкости в масштабировании, безопасности, обслуживании и т. д. c. Если вы продолжите разрабатывать все на одном сервере, вам придется гораздо раньше выполнять балансировку нагрузки и иметь дело с большим количеством прокси для любых других сервисов, которые вам нужны.
Что касается вашей проблемы с Redux, вы должны выполнять нормальное перенаправление куда-то, а не с использованием React-Router, потому что React-Router использует объект JavaScript history
для внесения изменений в URL-путь и еще много чего, что никогда не должно приводить к очистке вашего состояния Redux.
Если вы хотите перемещаться в другом месте и не использовать элемент Link
, вы также можете просто history.push("/anypathyouwant");