Next.js项目执行npm run build后未生成build文件夹求助
Next.js编译后无build文件夹问题解决(部署Hostinger)
核心问题:Next.js默认编译产物是.next文件夹,不是Create React App的build文件夹——你找不到build文件夹是正常的,用react-scripts build完全没用,因为那是CRA专属命令,和Next.js不兼容。
给你两种适配Hostinger的解决方案:
方案一:静态导出(适合纯静态站点)
如果你的站点不需要服务器端渲染,直接导出静态文件最省心:
- 修改
next.config.mjs,添加静态导出配置:
/** @type {import('next').NextConfig} */ const nextConfig = { output: 'export', }; export default nextConfig;
- 更新
package.json的build脚本,把生成的out文件夹内容复制到Hostinger要求的wwwroot:
"scripts": { "dev": "next dev", "build": "next build && xcopy /f /y out wwwroot", "start": "next start", "lint": "next lint" }
如果是在Linux/macOS环境执行,把xcopy换成cp -r out/* wwwroot/
执行npm run build后,就能在wwwroot里拿到静态部署文件了。
方案二:保留SSR/ISR(需要Hostinger支持Node.js)
如果你的站点需要服务器端渲染功能,Hostinger的Node.js部署流程是这样的:
- 保持原build脚本不变:
"build": "next build",执行后生成.next文件夹 - 登录Hostinger控制面板,找到你的项目部署设置:
- 设置启动命令为
npm run start或者next start - 配置端口(Next.js默认3000,Hostinger会分配对应端口,保持一致即可)
- 设置启动命令为
- 确保项目根目录的
.next和package.json等文件都上传到Hostinger的部署目录
额外排查点
- 执行
npm run build时盯紧输出日志,有没有隐藏的权限报错或者编译警告 - 检查项目根目录,确认
.next(或out)文件夹是否生成,有时候可能被.gitignore隐藏,去文件管理器里显示隐藏文件看看 - 如果你是在本地编译后上传,直接把
.next(或out)文件夹的内容传到Hostinger的wwwroot目录也行
内容的提问来源于stack exchange,提问作者corey williams
相关产品推荐
相关产品推荐

