nextjs v15.x独立部署

概要

官方的部署文档告诉我们用npm run buildnpm run start启动,但是有时在服务器上不想安装一个很大的node_modules,在我开发环境都有1G左右了,所以要看怎么减少部署大小。

官方还有种方案是Docker部署,可以看Dockerfile它是怎么构建的。

步骤

默认使用 yarn run build,在.next目录下是没有standalone这个目录的。需要参考这个文档的步骤做一个配置。

我使用mantine模板,我的配置文件为next.config.mjs,如果你的不同,可以参考文档的。

export default withBundleAnalyzer({
  ... 省略代码,加上以下这一行代码
  output: 'standalone',
});

加上配置之后,就可以执行yarn run build构建项目,构建完成后,需要把这几个目录拷贝一下,这里我用linux命令来表示拷贝过程。

1
2
3
cp .next/standalone/*  ./tmp/
cp .next/static ./tmp/.next/
cp public ./tmp/

如果你有环境配置,也需要拷贝进来,例如.env.local文件

拷贝完成之后,可以执行以下命令启动

1
node server.js
updatedupdated2024-12-222024-12-22