Развертывание приложения Laravel и Nuxt. js. Объединить их или развернуть отдельно? - PullRequest
1 голос
/ 08 января 2020

Я занимаюсь разработкой веб-сайта, который использует Laravel (v6) на внутреннем интерфейсе и Nuxt. js (v2) на внешнем интерфейсе. Идея заключалась в том, чтобы laravel действовал как сервер api & oauth2, который также на стороне сервера отображал приложение Nuxt. js. Судя по моим исследованиям, казалось, что это был не только общий путь, но и не слишком сложный для реализации.

Во время разработки я держал бэкэнд и фронтенд как совершенно отдельные проекты со своими репозиториями git и всем этим джазом. Это мой первый опыт развертывания / разработки такого проекта, где есть два полностью прикладных приложения для бэкэнда и внешнего интерфейса, так что все это очень ново и порой сложно. Теперь, когда пришло время их развертывать, я всегда предполагал, что каким-то образом объединю проекты и смогу настроить Laravel на серверную визуализацию приложения Nuxt. js. Однако сейчас я нахожусь на этом этапе и пытаюсь слить их с большим трудом.

В настоящее время я использую пакет "laravel -nuxt" composer и пакет "laravel -nuxt" npm в попытке подключить проекты в одном репо. Однако у меня возникли трудности с этим. Я искал хороший ресурс по этому процессу, но мне еще не удалось найти тот, который подробно объясняет этот процесс. Я даже купил курс по Udemy на topi c только для того, чтобы узнать, что они не объединяют проекты! Они развернули Nuxt для Firebase и даже не рассказали о том, как развертывание laravel.

В любом случае, это мой вопрос (а): я должен или не должен сохранять проекты отдельными и иметь 2 совершенно отдельных развертывания? Или, скорее, если я буду хранить их отдельно, как мне развернуть nuxt таким образом, чтобы он по-прежнему отображался на стороне сервера? Для меня не имеет значения, являются ли они отдельными или вместе, но самая важная часть состоит в том, что приложение nuxt отображает SSR (рендеринг на стороне сервера) для целей SEO. Так я на правильном пути? Должен ли я хранить эти проекты отдельно или я должен продолжать пытаться объединить их?

Извините, если это неясно, я довольно расстроен и немного схожу с ума. Буду очень признателен за любые отзывы или указание в правильном направлении. Спасибо, что уделили мне время на чтение, и я надеюсь, что у тебя будет хороший день :)

1 Ответ

0 голосов
/ 09 января 2020

Недавно я разработал нечто с аналогичной структурой, Nuxt. js frontend и Directus CMS в качестве бэкэнда.

Я сохранил бэкэнд и отделенные от frontend репозитории, а также развернул оба по отдельности. Причина, по которой я решил сделать это таким образом, заключалась в том, что оба требуют разных пакетов на стороне сервера и используют разные эко-системы. Для внешнего интерфейса требуется только Node.js, для внутреннего интерфейса требуется веб-сервер, база данных и PHP Я думаю, что это не должно смешиваться.

Для бэкэнда я использовал свой существующий сервер, на котором у меня уже есть такие вещи, как Nextcloud, или блог за nginx веб-сервером.

Для веб-интерфейса я использовал Dokku который я могу рекомендовать только для развертывания Node.js приложений. Nuxt. js содержит инструкции по его развертыванию.

Самое важное для вас, что SSR выполняется Nuxt. js, для этого вам не нужен отдельный веб-сервер. Просто соберите его и используйте npm start. В зависимости от вашей установки / развертывания вы должны использовать nginx в качестве прокси, чтобы избежать вызова приложения с номером порта. Еще одна вещь, которую Dokku делает для меня автоматически, если приложение учитывает переменную среды PORT.

...