Next.js新手求助:能否用build文件夹部署至Netlify及方法
如何用Next.js的静态构建文件夹部署到Netlify
当然可以用静态构建文件夹部署到Netlify,你之前上传.next文件夹报错是因为.next是Next.js开发/SSR构建的中间产物,里面没有Netlify需要的index.html静态入口文件。正确的做法是先让Next.js生成完整的静态站点文件夹,再部署。
步骤1:生成静态构建文件夹
首先要让Next.js导出静态站点,操作如下:
- 在项目根目录的
next.config.js中添加静态导出配置:/** @type {import('next').NextConfig} */ const nextConfig = { output: 'export', // 你的其他配置(比如basePath、images配置等) } module.exports = nextConfig - 执行构建命令:
根据你的Next.js版本和路由模式,构建完成后会生成对应的静态文件夹:npm run build- Next.js 13+ App Router:默认生成
out文件夹 - Pages Router(任意Next.js版本):生成
build文件夹
- Next.js 13+ App Router:默认生成
步骤2:部署到Netlify
有两种常用部署方式,选适合你的即可:
方式一:手动上传静态文件夹
- 打开Netlify控制台,点击「新建站点」→「手动部署」
- 选择刚才生成的
out或build文件夹(注意是上传整个文件夹,不是单独上传里面的文件) - 等待Netlify完成部署,就能访问你的站点了
方式二:Git仓库自动部署(推荐,方便后续更新)
- 把你的Next.js代码推送到GitHub/GitLab/Bitbucket等Git仓库
- 在Netlify控制台新建站点,选择对应的Git仓库
- 在构建配置页面:
- 构建命令填:
npm run build(用yarn/pnpm的话对应yarn build/pnpm build) - 发布目录填:
out(App Router)或build(Pages Router)
- 构建命令填:
- 点击「部署站点」,Netlify会自动拉取代码、执行构建并部署,后续代码更新后会自动触发重新部署
额外注意事项
如果你的项目用到服务器端渲染(SSR)或增量静态再生(ISR),静态导出的方式不支持这些特性。这时候可以用Netlify的Next.js运行时来部署:
- 不需要修改
next.config.js的output配置 - 部署时发布目录填
.next,构建命令依然是npm run build - Netlify会自动处理SSR/ISR相关逻辑,无需手动上传
.next文件夹
内容的提问来源于stack exchange,提问作者Nayan Saxena
相关产品推荐
相关产品推荐

