Библиотеки рендеринга сервера Javascript с API-интерфейсами REST не-JS
Являются ли серверные фреймворки / библиотеки (такие как Nextjs для React, Nuxt для Vue) и бэкэнды не-JS REST API (например, Java, Django, Go и т. Д.) Взаимоисключающими или они могут использоваться вместе?
В частности, я использую Go для создания REST API в бэкэнде, и мне интересно, придется ли мне отказываться от того, чтобы страницы отображались на сервере.
2 ответа
На самом деле это две разные проблемы: Vue и React - это фреймворки JavaScript. Они не будут работать на вашем серверном приложении Go.
Ничто не мешает вам отображать HTML в приложении Go, но сервер Go не собирается запускать инфраструктуру JavaScript. Если это произойдет, это, вероятно, потребует дополнительных лесов, и в этот момент вы также можете настроить сервер NodeJS для обработки рендеринга этих маршрутов.
Рекомендуется использовать отдельный сервер API с next.js, даже если вы используете JavaScript для обоих. Обычно api на api.example.com и приложение next.js общаются с ним независимо от того, выполняется ли оно на стороне сервера или в браузере.
Если вы хотите, чтобы они были в одном домене, чтобы вы могли напрямую использовать cookie-файлы, вы можете использовать псевдонимы пути в now.sh, похожем на Heroku PaaS от Zeit, разработчиках Next.js. Их можно настроить при разработке с помощью now-server. Это также можно сделать с помощью обратных прокси-серверов в nginx, apache, netlif y и CloudFront или с помощью маршрутизации на основе путей в AWS Application Load Balancer.