我正在努力理解部署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-tralsation
https://github.com/vinissimus/next-translate的配置文件
我也在和作者讨论,这可能是他们的问题,但现在我只想知道生产中的混合Nextjs.js应用程序是否应该包括pages/
文件夹。我想知道.next/
文件夹是否足以用于生产部署,如果不是,我想知道为什么。
1条答案
按热度按时间xtfmy6hx1#
在官方repo https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile中有一个使用Docker的例子,但我猜它也适用于非Docker环境。
基本上,它构建应用程序,然后只保留这些文件和文件夹:
所以不,
pages
不应该在构建vanilla NextJs应用程序后被需要,但它可能需要其他东西,比如你的例子中的next-translate
包,我不太确定它是如何使用pages
的,以及为什么。