Nextjs 在生产环境中所需的最小文件结构

Minimum file structures needed for Nextjs on production

我正在努力了解部署 nextjs 应用程序的正确方法或最佳方法。 我有一个混合 Nextjs 网站,我目前在 Azure App Service 上托管。 到目前为止我运行

从 Nextjs 文档(在这个主题上有点薄)来看,这似乎是正确的方法。 根据我的理解,生产只需要 .next/ 文件夹,因为它包含捆绑代码。 pages/components/等,只能在开发模式下使用。

我还在网上找到了一些朝这个方向发展的其他例子。 如果我尝试删除 /pages 或 /components,我会收到错误消息,应用程序无法再 运行。

有人可以确认 Nextjs 应用程序在生产环境中所需的最小文件结构是什么吗?

更新:

我得到的错误是第一个: ENOENT: no such file or directory, i18n

当我添加这个文件时,出现错误:

ENOENT: no such file or directory, pages/

i18n.js 是软件包 next-tralsation 的配置文件 https://github.com/vinissimus/next-translate

我也在和那里的作者交谈,这可能是他们那边的问题,但现在我只想知道生产中的混合 Nextjs.js 应用程序是否应该包括 pages/ 文件夹。 我想知道 .next/ 文件夹是否足以进行生产部署,如果不够,我想了解原因。

在官方仓库 https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile.multistage

中有一个使用 Docker 的例子

但我想它也适用于非docker环境。

基本上,它会构建应用程序,然后仅保留此文件和文件夹:

  • package.json
  • next.config.js
  • .env*
  • public
  • .下一个
  • node_modules

所以不,在为 vanilla NextJs 应用程序构建后不应该需要 pages,但它可能需要其他东西,比如你的例子中的 next-translate 包,我不太确定它如何使用 pages 以及有何用途。