初始化客户端

你可以使用 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实例的选项