build - Nextjs 在生产中所需的最小文件结构
问题描述
我很难理解部署 nextjs 应用程序的正确方法或最佳方法。我有一个混合 Nextjs 网站,目前托管在 Azure App Service 上。到目前为止我跑
- 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/
文件夹是否足以用于生产部署,如果没有,我想了解原因。
解决方案
在官方仓库https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile.multistage中有一个使用 Docker 的示例
但我想它也适用于非 docker 环境。
基本上,它构建应用程序并在此之后只保留这些文件和文件夹:
- 包.json
- next.config.js
- .env*
- 上市
- 。下一个
- 节点模块
所以不,pages
在为 vanilla NextJs 应用程序构建之后不应该需要它,但它可能需要其他的东西,比如next-translate
你的例子中的包,我不太确定它是如何使用pages
和做什么的。
推荐阅读
- python - 哪个类在 Django REST 中调用序列化程序类
- python - 我可以在 python 脚本中使用 FFMPEG 将列表中的 mp4 文件合并到一个文件中吗
- java - 从 Kotlin 中的 deeplink Url 中提取 QueryParameters
- c++ - 当我为 long long 变量分配更大的数字时,为什么变量为 0?
- c++ - 如何配置 CodeLite IDE 以使用 C++ 和 SFML 库?(Windows/Linux) 配置完整解决方案
- javascript - 是否有任何处理程序来旋转对象?
- wordpress - 如何使叠加层出现在 Elementor 中的图像上方?有关更多详细信息,请参阅快照
- java - 如何用java替换文本文件中的特定字符串?
- javascript - 如何运行 JS 文件(使用 JSON)?
- flutter - 如何在 Flutter 中进行服务