字节笔记本字节笔记本

Next.js 本地编译部署到服务器

2023-06-26

本地构建Next.js应用后,将`.next`文件夹和`package.json`等必要文件上传至服务器,并在服务器上安装依赖后启动应用,但建议在相同环境中构建以避免环境差异问题。

本地完成Next.js应用的构建(也就是打包),然后将构建的结果(.next 文件夹,package.json,和其他必要的文件,如public文件夹等)上传到你的服务器。

在本地进行构建的步骤通常如下:

npm install # 或者 yarn install,取决于你使用的包管理器
npm run build # 或者 yarn build

这会在.next文件夹中创建一个构建的应用。

然后你可以将构建的结果以及其他必要的文件上传到你的服务器。你可以使用SCP、SFTP或其他文件传输方法。以下是一个SCP的示例:

rsync -arzvvv --delete .next/ 150:/ubuntu/next-blog/.next/

在服务器上,你需要安装应用的依赖(你不需要将node_modules目录上传到服务器,因为依赖项可能因操作系统的不同而不同):

cd /path/to/your/app
npm install --production

然后你可以使用npm start来运行你的应用。

然而,这种方法的缺点是,构建的结果可能取决于你本地机器的环境(例如,某些依赖项可能需要编译,并且编译的结果可能取决于你的操作系统和库的版本)。所以通常来说,最佳实践是在与运行应用相同的环境中进行构建。对于Next.js,你可以考虑使用Vercel,这是Next.js的官方部署平台,它可以在云中为你进行构建并部署你的应用。