Supabase
Supabase
, как иFirebase
- этоSaaS
илиBaaS
. Что это означает? Это означает, что в случае с фулстек-приложением мы разрабатываем только клиентскую часть, а все остальное предоставляетсяSupabase
через пользовательские комплекты для разработки программного обеспечения (SDK
) и программные интерфейсы приложения (API
). Под "всем остальным" подразумевается сервис аутентификации (включая возможность использования сторонних провайдеров), база данных (PostgreSQL
), файловое хранилище, обработку модификации данных в режиме реального времени и сервер, который все это обслуживает.
Пример использования Supabase
для разработки фулстек-приложения для публикации постов.
Установка
yarn add @supabase/supabase-js
Импорт
import supabase from '@supabase/supabase-js'
Теоретические основы
Клиент (Client)
Инициализация
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(url, key, options)
url
- путь, предоставляемый после создания проекта, доступный в настройках панели управления проектом;key
- ключ, предоставляемый после создания проекта, доступный в настройках панели управления проектом;options
- дополнительные настройки.
const options = {
// дефолтная схема
schema: 'public',
headers: { 'x-my-custom-header': 'my-app-name' },
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: true
}
const supabase = createClient('https://my-app.supabase.co', 'public-anon-key', options)
По умолчанию для выполнения HTTP-запросов supabase-js
использует библиотеку cross-fetch
. Это можно изменить следующим образом:
const supabase = createClient('https://my-app.supabase.co', 'public-anon-key', {
fetch: fetch.bind(globalThis)
})