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

使用Firebase Web Framework(Beta)搭配Next.js与Prisma遇SSR部署问题求助

问题解决:Firebase Hosting部署Next.js+Prisma SSR应用出现500错误

你的猜测方向是对的:Firebase Web Framework Beta的默认构建流程不会自动执行prisma generate这类框架外的自定义构建步骤,这才导致SSR调用Prisma时触发@prisma/client did not initialize yet错误。不过你可以通过自定义构建命令来解决这个问题,具体步骤如下:

1. 修改项目构建脚本

在项目根目录的package.json中,将build命令更新为包含prisma generate的组合命令:

{
  "scripts": {
    "build": "npx prisma generate && next build",
    // 其他脚本保持不变
  }
}

这样Firebase在执行构建时,会先生成Prisma客户端,再执行Next.js的标准构建流程,确保部署包中包含初始化Prisma所需的代码。

2. 确认Firebase配置正确性

检查firebase.json中的Hosting配置,确保框架后端指向正确的函数区域,并且构建源路径正确:

{
  "hosting": {
    "source": ".",
    "frameworksBackend": {
      "region": "us-central1" // 替换为你的函数区域
    },
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

3. 配置必要的环境变量

确保数据库连接字符串DATABASE_URL已添加到Firebase项目的环境变量中:

  • 可以通过Firebase CLI执行命令:
    firebase functions:config:set prisma.database_url="你的数据库连接字符串"
    
  • 或者直接在Firebase控制台的「函数」→「环境变量」页面添加。

完成以上步骤后,重新执行firebase deploy部署项目,SSR调用Prisma的操作就能正常工作了。

内容的提问来源于stack exchange,提问作者Chris Keller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:02:11