SuperAPI AI 工具集

supabase-js

编程与开发

查看项目

更新于 10-16 02:06

技能介绍

用途

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 各项能力的开发工作,例如查询数据库、实现登录注册、管理文件、订阅实时变更、调用边缘函数等。

限制

资料未提供该技能的具体收费、价格、平台支持范围或效果保证等信息。