Nextjs 生产所需的最小文件结构

Gio*_*tta 5 production build next.js

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

  • npm 构建
  • npm start 应用程序编译时没有错误,我在 Azure 上托管应用程序的所有内容,其中包含
  • 。下一个/
  • 成分/
  • 页数/
  • ...所有配置
  • ..所有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/文件夹是否足以用于生产部署,如果不够,我想了解原因。

Dan*_*ila 7

官方仓库中有一个使用 Docker 的示例https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile 但我想它也适用于非 docker 环境。

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

  • 包.json
  • next.config.js
  • .env*
  • 民众
  • 。下一个
  • 节点模块

所以不,pages在构建普通 NextJs 应用程序后不需要,但可能需要其他东西,比如next-translate您示例中的包,我不太确定它是如何使用的pages以及用途是什么。