You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS执行npm run build后public文件夹未生成index.html致Firebase部署异常

NextJS构建后无index.html的排查方向
  • 配置项变动排查
    NextJS默认不会将构建生成的HTML输出到public目录,public仅用来存放开发者手动放置的静态资源(图片、字体等)。如果此前构建能生成静态HTML,说明你之前开启了静态导出配置,近期大概率是修改了next.config.js或者升级NextJS版本后配置失效:
    打开next.config.js确认是否存在output: 'export'配置:
const nextConfig = {
  // 开启静态导出,构建后会在根目录生成out文件夹,包含所有静态HTML产物
  output: 'export',
}
module.exports = nextConfig

如果该配置丢失,构建会生成服务端运行的Node.js产物,不会输出静态HTML文件。

  • 路由入口文件排查
    如果使用Page Router,确认pages目录下存在根路由入口index.js/tsx;如果使用App Router,确认app目录下存在根路由入口page.js/tsx,入口文件缺失会导致根路径的index.html无法生成。

  • 构建命令配置排查
    打开package.json的scripts字段,确认build命令是否被修改,是否添加了非默认的构建参数,或者被替换为了自定义脚本导致跳过了静态导出流程。

  • Firebase部署配置排查
    打开项目根目录的firebase.json,确认hosting.public的配置值是否为out(NextJS静态导出产物的默认输出目录),如果被误改为public,就会出现部署时找不到index.html的问题。

内容的提问来源于stack exchange,提问作者ghaith haddad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:48:05