初始化客户端
你可以使用 createClient()
方法初始化一个新的 Supabase 客户端。
Supabase 客户端是你访问 Supabase 其他功能的入口是与我们在 Supabase 生态系统中提供的所有功能进行交互的最简单方法。
案例教程
案例1 (createClient())#
1import { createClient } from '@supabase/supabase-js' 2 3// Create a single supabase client for interacting with your database 4const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
使用自定义域名:
1import { createClient } from '@supabase/supabase-js' 2 3// Use a custom domain as the supabase URL 4const supabase = createClient('https://my-custom-domain.com', 'public-anon-key')
案例2 (带附加参数的情况)#
1import { createClient } from '@supabase/supabase-js'
2
3const options = {
4 db: {
5 schema: 'public',
6 },
7 auth: {
8 autoRefreshToken: true,
9 persistSession: true,
10 detectSessionInUrl: true
11 },
12 global: {
13 headers: { 'x-my-custom-header': 'my-app-name' },
14 },
15}
16const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key", options)
案例3 (API模式)#
1import { createClient } from '@supabase/supabase-js'
2
3// Provide a custom schema. Defaults to "public".
4const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
5 db: { schema: 'other_schema' }
6})
案例4 (自定义fetch实现)#
1import { createClient } from '@supabase/supabase-js'
2
3const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
4 global: { fetch: fetch.bind(globalThis) }
5})
案例5 (React Native选项)#
1import { createClient } from '@supabase/supabase-js'
2import AsyncStorage from "@react-native-async-storage/async-storage";
3
4const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key", {
5 auth: {
6 storage: AsyncStorage,
7 autoRefreshToken: true,
8 persistSession: true,
9 detectSessionInUrl: false,
10 },
11});
参数说明
supabaseUrl[必要参数]
string类型
唯一的Supabase URL,当你在项目控制台上创建一个新项目时提供。
点击控制台左侧菜单栏的“应用设置”,然后找到“API”,此时的页面可以找到应用的URL。
supabaseKey[必要参数]
string类型
唯一的Supabase密钥,当你在你的项目控制台上创建一个新项目时提供。
点击控制台左侧菜单栏的“应用设置”,然后找到“API”,此时的页面可以找到应用的API密钥。
SupabaseClientOptions[必要参数]
object类型
auth[可选参数]
object类型
autoRefreshToken[可选参数]
boolean类型
自动刷新登录用户的令牌。
detectSessionInUrl[可选参数]
boolean类型
从URL中检测一个会话。用于OAuth登录的回调。
flowType[可选参数]
object类型
要使用的OAuth流程 - 默认为隐式流程。推荐在移动端和服务器端应用中使用PKCE流程。
persistSession[可选参数]
boolean类型
是否将登录的会话持久化到存储中。
storage[可选参数]
object类型
一个存储提供者。用来存储登录的会话。
storageKey[可选参数]
string类型
可选的密钥名称,用于在本地存储中存储令牌
特性
db[可选参数]
object类型
你的表所属的Postgres模式。必须在Supabase中公开的模式列表中。默认为 "public"。
schema[可选参数]
SchemaName类型
特性
global[可选参数]
object类型
fetch[可选参数]
Fetch类型
一个自定义的 fetch 实现。
headers[可选参数]
Record类型
用于初始化客户端的可选头文件。
特性
realtime[可选参数]
RealtimeClientOptions类型
传递给realtime-js实例的选项
特性