写点什么

小白快速出海上站指南:Vercel + Supabase 先上个站再说

  • 2025-10-12
    北京
  • 本文字数:2563 字

    阅读完需:约 8 分钟

小白快速出海上站指南:Vercel + Supabase先上个站再说

哈喽,大家好

我是阿星👋🏻

这两天阿星在研究怎么囫囵上线一个海外站。(因为我老觉得没有上线的东西等于不存在)

所以试了下全流程:代码推到恶👉🏻发布到 vercel👉🏻连通 supabase 数据库👉🏻成功上线一个有数据储存功能的小项目

分享给大家我的踩坑经历:

1、随便做个网站发到 github

这次囫囵上站尝试主要有 3 个做法

1、大家既可以直接采用 vercel 里的模版

2、也可以参考这个站里的网站自己做一个👇🏻

3、可以自己随手做一个网站试试

划重点!

记得在写代码的时候让 lovable 来写

这个 lovable 很神奇啊,口碑在 AI 圈也很好

为数不多我想充钱的工具

你做到本文第六步就知道 lovable 给你省了多少个小时了

亲测 deepseek、trae 需要交流时间挺久

告诉 lovable,一句话就给你接好 supabase

只能说 lovable 太懂 supabase 了

我先做一个凑合的

因为之后要连通到数据库,如果你不让 lovable 给你写,如果你用的也不是 vercel 自带的模版

你需要在开发的过程中就把 supabse 初始化考虑进来

你需要自己配置下 vercel 和 supabase 连接时的 key

在项目级别界面的 settings 中,添加:

第一个变量:

  • Name: NEXT_PUBLIC_SUPABASE_URL

第二个变量:

  • Name: NEXT_PUBLIC_SUPABASE_ANON_KEY

你需要自己处理


这是supabase的api文档https://supabase.com/docs/guides/api/api-keys

Project URL:xxxAPI Key:xxx
示例代码
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = 'https://okqxrigpjgoncvoflenz.supabase.co'const supabaseKey = process.env.SUPABASE_KEYconst supabase = createClient(supabaseUrl, supabaseKey)
复制代码

一顿配置后你会发现还是 lovable 好

做完了,然后我把项目推到 github 里

# 在本地编写/修改代码# 测试功能# 提交到GitHubgit add .git commit -m "添加Supabase集成"git push origin main
复制代码

单独跟小白同学说一句

如果你后续修改了代码,是需重新推送代码到 github

更新代码 → 推送到GitHub → Vercel自动部署不需要手动更新Supabase和Vercel(环境变量配置一次即可)
复制代码


关于注册 github

登录不上的自己想办法

这个没办法教你

2、注册 vercel

vercel 是用来部署网站的,主攻前端,发到 Vercel 上的东西不需要传统服务器,是因为 Vercel 是一个提供 “无服务器 (Serverless)” 和 “静态网站” 托管的云平台。它会自动处理服务器的配置、部署、扩展和管理,用户只需关注代码就行了。

相当于网站的顺丰快递站,帮你承载发布各种网站

记住,登录的时候直接用 github 账号登录你的 vercel

3、注册 supabase

Supabase 是一个开源的 后端即服务 (BaaS) 平台,旨在为开发者提供构建应用的后端工具。

它和 vercel 就是一个组合拳。

4、连接 vercel 和 github 项目

登录 Vercel 后,你会进入控制台。

点击 “Add New...” 按钮,然后选择 “Project”。

此时你会看到你 GitHub 账户下的所有仓库列表。

如果你第一次使用,可能需要授权 Vercel 访问你的 GitHub 账户。

就可以看到所有已经导入的项目。

项目名称要注意会和你的域名有关系,

比如 your-project-name.vercel.app

想域名高级点要花钱,今天可以先用这个免费的。

另外就是预设框架这个地方,一定要选自己的框架,否则部署出来是变形的

不知道自己啥框架的让 deepseek 诊断下

到这一步,相当于没有数据库

vercel 是两头都要好

又要和 github 好

又要和 supabase 好

没法存数据光有前端代码显示一下也不行啊

所以我们还要继续连——

5、连接 vercel 和 supabase

点击右上角的 install

就可以多看到它提示你新建或者选择已有的 supabase

然后选择关联你在 supabase 上创建的项目、以及你在当前在 vercel 里的项目,两者相连,ok 了。

它是通过直接读取你刚在 github 更新的表头直接和 supabase 联通

6、检查数据库是否真的连上了

登录你刚用 github 注册的 supabase

在 supabase 里新建表格,用命令行手动创建表格

如果你用了 lovable,现在就是直接复制他给你写的创建语句

这是 lovable 当时根据我的项目让我做表的 sql 语句

-- 创建愿景表CREATE TABLE IF NOT EXISTS public.visions (    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,    user_id TEXT NOT NULL DEFAULT 'public_user',    content TEXT NOT NULL,    enhanced_text TEXT,    image_url TEXT,    image_prompt TEXT,    manifestation_count INTEGER DEFAULT 0 NOT NULL,    category TEXT DEFAULT 'general',    status TEXT DEFAULT 'active' CHECK (status IN ('active', 'completed', 'archived', 'withdrawn')),    metadata JSONB DEFAULT '{}'::jsonb,    created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc'::text, NOW()) NOT NULL,    updated_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc'::text, NOW()) NOT NULL);
-- 创建索引CREATE INDEX IF NOT EXISTS visions_user_id_idx ON public.visions(user_id);CREATE INDEX IF NOT EXISTS visions_created_at_idx ON public.visions(created_at DESC);
-- 更新时间触发器CREATE OR REPLACE FUNCTION public.handle_updated_at()RETURNS TRIGGER AS $$BEGIN    NEW.updated_at = TIMEZONE('utc'::text, NOW());    RETURN NEW;END;$$ LANGUAGE plpgsql;
CREATE TRIGGER handle_visions_updated_at    BEFORE UPDATE ON public.visions    FOR EACH ROW EXECUTE FUNCTION public.handle_updated_at();
-- 启用RLSALTER TABLE public.visions ENABLE ROW LEVEL SECURITY;
-- RLS策略CREATE POLICY "公共用户可读" ON public.visions    FOR SELECT USING (user_id = 'public_user' AND status != 'withdrawn');
CREATE POLICY "公共用户可写" ON public.visions    FOR INSERT WITH CHECK (user_id = 'public_user');
CREATE POLICY "公共用户可更新" ON public.visions    FOR UPDATE USING (user_id = 'public_user');
CREATE POLICY "公共用户可删除" ON public.visions    FOR DELETE USING (user_id = 'public_user');
-- 权限GRANT SELECT, INSERT, UPDATE, DELETE ON public.visions TO anon;
复制代码

然后我回到自己的愿景板一顿许愿

数据才顺利躺进 supabase,我真棒

至此,小白已经完成了第一个前后端、数据库、部署发布的全流程。

在阿星看来,出海和自媒体是非常值得花时间的地方。所以仍旧会不断学习。

我是阿星,我们下期再见👋🏻


发布于: 刚刚阅读数: 3
用户头像

全平台同名 2025-05-15 加入

zuojialongxi

评论

发布
暂无评论
小白快速出海上站指南:Vercel + Supabase先上个站再说_人工智能_阿星AI工作室_InfoQ写作社区