用途
supabase-js 技能用于帮助开发者使用 @supabase/supabase-js SDK 构建应用,覆盖认证(Auth)、数据库(PostgREST)、存储(Storage)、实时(Realtime)和边缘函数(Edge Functions)。该技能说明 SDK 官方文档(https://supabase.com/docs/reference/javascript)是事实来源,技能附带的参考文件包含从 monorepo 中提取的源代码和 README,便于快速查阅。
主要能力
技能按功能域组织,提供快速决策树:
- 数据库查询:选择行、过滤(eq/gt/lt/in/like)、联表、插入、upsert、更新、删除、调用 RPC、计数、分页、排序。
- 认证:邮箱密码注册与登录、OAuth(Google、GitHub 等)、魔法链接、手机 OTP、登出、获取当前用户、获取会话、监听认证状态变化、重置密码、更新用户、管理员操作。
- 文件存储:上传、下载、获取公开 URL、创建签名 URL、列出文件、移动、删除、创建桶、列出桶。
- 实时:监听数据库变更、广播消息、监听广播、在线状态(Presence)、取消订阅单个或全部频道。
- 边缘函数:调用函数、自定义请求头、设置区域。
使用方式
安装:
npm install @supabase/supabase-js
初始化:
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
类型安全查询需从数据库 schema 生成类型:
supabase gen types typescript --project-id your-project-id > database.types.ts
import { createClient } from '@supabase/supabase-js'
import type { Database } from './database.types'
const supabase = createClient<Database>(SUPABASE_URL, SUPABASE_ANON_KEY)
技能还给出常见模式,包括服务端使用 service role key(绕过 RLS,仅限服务端)、React/Next.js 认证 hook、类型化数据库查询示例。
适用场景
适用于需要在前端或服务端集成 Supabase 各项能力的开发工作,例如查询数据库、实现登录注册、管理文件、订阅实时变更、调用边缘函数等。
限制
资料未提供该技能的具体收费、价格、平台支持范围或效果保证等信息。