【问题标题】:Minimum file structures needed for Nextjs on productionNextjs 在生产中所需的最小文件结构
【发布时间】:2025-12-04 10:50:01
【问题描述】:

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

  • npm 构建
  • npm 启动 该应用程序编译没有错误,我在 Azure 上托管了我的应用程序的所有内容,其中包含
  • .next/
  • 组件/
  • 页数/
  • ...所有配置
  • ..所有js文件

从 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/ 文件夹是否足以用于生产部署,如果没有,我想了解原因。

【问题讨论】:

  • 您能发布您遇到的具体错误吗?

标签: build next.js production


【解决方案1】:

官方repohttps://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile.multistage中有一个使用Docker的例子

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

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

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

所以不,在为香草 NextJs 应用程序构建之后不应该需要 pages,但它可能需要其他东西,比如你的示例中的 next-translate 包,我不太确定它如何使用 pages和什么。

【讨论】:

  • 谢谢@Danila,这正是我正在寻找的确认!
  • 那么,next-translate 需要 pages 目录还是某种错误的配置?