Supabase 是一个开源替代品,用于 Firebase 提供的后端服务。它基于 PostgreSQL,提供实时数据库、身份验证、存储等功能。本文将深入探讨 Supabase 的主要功能,并结合不同场景给出代码实例。
1. 创建 Supabase 项目
首先,访问 Supabase 官网 并创建一个账户。创建新项目后,您将获得一个数据库 URL 和 API 密钥。
// 使用 Supabase JS 客户端
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = 'YOUR_SUPABASE_URL';
const supabaseKey = 'YOUR_SUPABASE_KEY';
const supabase = createClient(supabaseUrl, supabaseKey);
2. 实时数据库
Supabase 的实时功能允许您实时监听数据库的变化。以下示例展示如何监听 messages
表的插入操作。
// 监听插入操作
supabase
.from('messages')
.on('INSERT', payload => {
console.log('新消息:', payload.new);
})
.subscribe();
3. 用户身份验证
Supabase 提供简单的身份验证机制。您可以使用邮箱和密码进行注册和登录。
// 用户注册
const { user, session, error } = await supabase.auth.signUp({
email: 'user@example.com',
password: 'password123',
});
// 用户登录
const { user, session, error } = await supabase.auth.signIn({
email: 'user@example.com',
password: 'password123',
});
4. 文件存储
使用 Supabase 的存储功能,您可以轻松上传和管理文件。以下示例演示如何上传图片。
// 上传文件
const { data, error } = await supabase.storage
.from('avatars')
.upload('public/my-avatar.png', file);
5. 数据查询
Supabase 使数据查询变得简单。以下示例展示如何查询 tasks
表中的所有任务。
// 查询数据
let { data: tasks, error } = await supabase
.from('tasks')
.select('*');
6. 总结
Supabase 是一个功能强大的工具,可以快速构建现代应用。通过实时数据库、身份验证和存储功能,开发者能够快速实现复杂的业务需求。结合上述代码示例,您可以轻松开始使用 Supabase。
希望这篇文章能帮助您更好地理解 Supabase 的核心功能,开启您的开发之旅!