Lan*_*nce 17 node.js reactjs server-side-rendering next.js
我对 Next js 及其部署过程相当陌生。我最近将我的一个 React js 项目转换为 Next js,以便利用 Next js 提供的服务器端渲染功能。现在到了部署时间,我发现如果node_modules
服务器中没有该文件夹,下一个版本将无法部署。我在我的页面中使用getServerSideProps
并使用"build": "next build"
package.json 中的命令进行构建。问题是我的 node_modules 文件夹接近 300MB(.next
构建又增加了大约 10MB),我认为每次部署都伴随这么大的重量并不是最佳实践(我打算部署此构建的不同实例,因此 310MB)服务器中的 X 个实例)。我在这里做错了什么还是这是实现这一目标的唯一方法?我很感激任何答案。谢谢...
hbo*_*lan 10
更新(11/14/22): 前面提到的“输出独立”功能不再是实验性的:
// next.config.js
module.exports = {
output: 'standalone',
}
Run Code Online (Sandbox Code Playgroud)
上一个答案: 最新的Next.js 文档有一个关于如何创建独立构建的很好的示例,以及如何使用docker完成它的一个很好的示例。截至目前,该功能仍处于实验阶段。
// next.config.js
module.exports = {
experimental: {
outputStandalone: true,
},
}
Run Code Online (Sandbox Code Playgroud)
经过一番研究后,我正在回答我自己的问题。如果使用,getServerSideProps
则无法静态导出项目。因此需要node_modules文件夹来将项目部署到服务器上。这并不意味着您必须通过 FTP 传输node_modules
,您可以在服务器端执行 npm 构建,并将其下载node_modules
到部署文件夹。就我而言,部署文件夹的大小约为 310MB,其中node_modules
文件夹本身约为 300MB。
归档时间: |
|
查看次数: |
16249 次 |
最近记录: |