正在部署 Laravel 和 Nuxt.js 应用程序。合并它们,还是单独部署?

Deploying Laravel and Nuxt.js application. Combine them, or deploy separately?

我一直在开发一个在后端使用 Laravel (v6),在前端使用 Nuxt.js (v2) 的网站。这个想法是让 laravel 充当 api & oauth2 服务器,同时服务器端呈现 Nuxt.js 应用程序。根据我的研究,这似乎不仅是一条常见的路线,而且实施起来也没有太多麻烦。

在开发过程中,我一直将后端和前端作为完全独立的项目,使用它们自己的 git 存储库和所有爵士乐。这是我第一次 deploying/developing 像这样的项目,其中有两个完整的后端和前端应用程序,所以所有这些都是非常新的,有时有点挑战。现在到了部署它们的时候,我总是想象我会以某种方式合并项目,并且我能够设置 Laravel 以在服务器端呈现 Nuxt.js 应用程序。但是,我现在正处于那个阶段,并且很难将它们合并。

目前我正在使用 "laravel-nuxt" composer 包和 "laravel-nuxt" npm 包来尝试将项目连接到一个 repo 中。但是,我很难做到这一点。我广泛搜索了有关此过程的良好资源,但尚未找到能彻底解释该过程的资源。我什至在 Udemy 上购买了关于该主题的课程,结果发现他们没有合并项目!他们将 Nuxt 部署到 firebase,甚至没有介绍如何部署 laravel.

无论如何,这是我的问题:我应该或可以将项目分开并进行 2 个完全独立的部署吗?或者更确切地说,如果我将它们分开,我如何以仍然让服务器端呈现的方式部署 nuxt?对我来说,它们是分开的还是在一起并不重要,但最重要的部分是 nuxt 应用程序将 SSR(服务器端渲染)用于 SEO 目的。那我在正确的轨道上吗?我应该将这些项目分开还是应该继续尝试合并它们?

抱歉,如果不清楚,我很沮丧,有点失去理智。我真的很感激任何反馈或指出正确的方向。感谢您花时间阅读本文,否则我希望您今天过得愉快 :)

我最近开发了具有类似结构的东西,Nuxt.js 前端和 Directus CMS 作为后端。

我保留了后端和前端分离的存储库,并且还分别部署了两者。我决定这样做的原因是因为两者在服务器端需要不同的包并使用不同的生态系统。 前端只需要 Node.js 后端需要网络服务器、数据库和 PHP。我觉得这个不应该混的。

对于后端,我使用了我现有的服务器,其中我已经拥有诸如 Nextcloud 或 nginx 网络服务器背后的博客之类的东西 运行。

对于前端,我使用了 Dokku,我只能推荐它用于部署 Node.js 应用程序。 Nuxt.js 有关于如何部署到它的说明。

对您来说最重要的是 SSR 由 Nuxt.js 完成,您不需要单独的网络服务器。只需构建它并使用 npm start。根据您的 installation/deployment,您必须使用 nginx 作为代理,以避免使用端口号调用应用程序。如果应用程序尊重 PORT 环境变量,Dokku 会自动为我做另一件事。