在 Next.js 项目中实现 Supabase 查询的完整 TypeScript 类型推断

本节将重点解决一个非常关键的问题:

如何在 Next.js 项目中,让 Supabase 查询具备完整的 TypeScript 类型推断能力?

为什么需要类型推断?

默认情况下,Supabase 的查询返回值是 any 或弱类型:

const { data } = await supabase.from("courses").select("*");

这会带来几个问题:

  • 无法自动补全字段
  • 字段写错不会报错
  • 重构成本高
  • 可读性差

具体实现步骤

本节内容基于以下课程进行扩展,请阅读:

在 TypeScript 项目中实现 Supabase Database 查询的类型推断