【问题标题】:Deploying Laravel and Nuxt.js application. Combine them, or deploy separately?部署 Laravel 和 Nuxt.js 应用程序。将它们结合起来,还是单独部署?
【发布时间】:2020-04-26 00:53:55
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: php laravel server-side-rendering nuxt.js


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 2015-12-27
      • 2021-08-11
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 2016-05-14
      相关资源
      最近更新 更多