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

ifsvaxew  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(89)

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

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

从Nextjs文档(在这个主题上有点单薄)来看,似乎这是正确的方法。从我的理解来看,生产只需要.next/文件夹,因为它有捆绑的代码。pages/components/等,应该只在开发模式下使用。
我还在网上找到了一些其他的例子,如果我试图删除/pages或/components tho,我得到了错误,应用程序无法运行了。
有人能告诉我Nextjs应用程序在生产环境中所需的最小文件结构是什么吗?
更新:
我得到的错误是第一个:ENOENT: no such file or directory, i18n
当我添加这个文件时,我得到错误:
ENOENT: no such file or directory, pages/
i18n.js是软件包next-tralsationhttps://github.com/vinissimus/next-translate的配置文件
我也在和作者讨论,这可能是他们的问题,但现在我只想知道生产中的混合Nextjs.js应用程序是否应该包括pages/文件夹。我想知道.next/文件夹是否足以用于生产部署,如果不是,我想知道为什么。

xtfmy6hx

xtfmy6hx1#

在官方repo https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile中有一个使用Docker的例子,但我猜它也适用于非Docker环境。
基本上,它构建应用程序,然后只保留这些文件和文件夹:

  • package.json
  • next.config.js
  • .env*
  • 公众
  • 下一个
  • 节点模块

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

相关问题