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

Next.js静态导出客户端应用:选createBrowserClient还是createClient?

静态导出Next.js应用(部署GitHub Pages)的Supabase客户端选择

两者的底层差异

  • createClient 是@supabase/supabase-js包的通用客户端,支持浏览器和Node.js环境,默认处理浏览器端的存储逻辑(比如localStorage),但没有针对Next.js的服务端渲染(SSR/SSG)场景做特殊优化。
  • createBrowserClient 来自@supabase/ssr包,是专门为Next.js的SSR/SSG/ISR等服务端渲染场景设计的封装版客户端。它的核心逻辑基于createClient,但额外做了Next.js环境的适配——比如避免服务端渲染时重复创建实例、处理服务端到客户端的状态同步等。不过在纯客户端运行的静态导出场景下,这些服务端相关的优化逻辑不会触发。

选择建议

对于你这种完全静态、纯客户端运行、部署到GitHub Pages的Next.js应用,两者功能表现一致是正常的,因为纯客户端环境下createBrowserClient最终还是调用了createClient的核心逻辑。但更推荐你使用createBrowserClient:

  1. 符合Supabase针对Next.js场景的官方推荐规范,后续如果你的应用需要扩展到SSR/SSG模式,无需修改客户端初始化代码。
  2. 它做了Next.js环境的兼容性封装,未来Supabase更新时会优先适配Next.js的新特性,能避免潜在的兼容性问题。

内容的提问来源于stack exchange,提问作者Khaled Alansary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:37:01