如何将 s-s-r NuxtJs 应用程序部署到主机

Posted

技术标签:

【中文标题】如何将 s-s-r NuxtJs 应用程序部署到主机【英文标题】:How do I deploy an s-s-r NuxtJs app to a host 【发布时间】:2020-11-29 16:55:20 【问题描述】:

我来自 SPA / React 世界,正在开发我的第一个 Nuxtjs s-s-r 应用程序。

当我运行 npm run build 时,我希望创建工件,这些工件可以复制到我的生产环境中,然后使用服务器上的节点运行。当我执行 npm run build 时,我在 dist 文件夹中什么都没有,但在 ./nuxt/dist 中有两个文件夹,服务器和客户端。

完全不知道如何从那里开始。所有在线帮助似乎都针对非生产版本,其中存在整个开发文件夹以运行 nuxt start。

如何进行生产部署并使用服务器上的节点运行它

【问题讨论】:

【参考方案1】:

发布nuxt有几种方式:

因此,对于 SPA 部署,您必须执行以下操作: 将 nuxt.config.js 中的模式更改为 spa。 运行 npm 运行构建。 将创建的 dist/ 文件夹部署到您的静态主机,如 Surge、GitHub Pages 或 nginx

但我认为您使用 通用模式 (s-s-r),因此在这种模式下,最好在服务器中安装 npm 或 yarn 并在生产服务器中运行此命令

nuxt build
nuxt start

所以如果你想将项目的dist文件夹更改模式复制到nuxt.config.js中的SPA

更多信息请阅读这篇文章

How do I deploy an s-s-r NuxtJs app to a host

【讨论】:

我试图让它在 s-s-r 模式下运行,要使用 nuxt start 我需要复制我认为的整个文件夹,而不是编译的发行版? ./nuxt/dist 文件夹有两个子文件夹 client server 如果生成的 index.s-s-r.html 重命名为 index.html 作为主 html 文件,都应该复制到服务器。谢谢! 因为服务器端渲染需要node(yarn或者npm)在服务器上运行项目,所以不能复制文件夹,应该在服务器端使用nuxt命令运行项目【参考方案2】:

question 与我的answer 相同。在那里你会找到必要的配置,所以我不想在这里复制答案,因为最好将所有内容保存在一个地方,因为可能会更新。

【讨论】:

以上是关于如何将 s-s-r NuxtJs 应用程序部署到主机的主要内容,如果未能解决你的问题,请参考以下文章

Nuxtjs 在 asyncData 中获取 Firestore 数据

在 s-s-r 模式下发布我的 nuxtjs 网站时出错

如何将使用@nuxtjs/apollo 模块的nuxt 应用程序部署到heroku?

我应该使用哪一个:s-s-r、仅 SPA 或 SSG 用于我的 Nuxt 项目?

如何通过云功能将 Nuxt s-s-r 应用部署到 Firebase?

如何将 React s-s-r 应用程序部署到 Heroku?