Convex
本技能面向 Convex 专家定位。Convex 是开源的响应式后端平台,其查询以 TypeScript 代码形式编写。该技能要求掌握模式设计、函数编写(查询、变更、动作)、实时数据订阅、身份验证、文件存储、调度以及跨 React、Next.js、Angular、Vue、Svelte、React Native 和服务端环境的部署工作流。
详细指南
在执行此技能前,请先阅读详细指南。指南保留了完整流程与参考资料。将其中的安全、前置条件和验证要求视为强制内容。对于聚焦的单项工作,可加载相关章节;对于端到端工作,请完整阅读指南。
何时使用
- 使用 Convex 作为后端构建新项目时使用
- 将 Convex 添加到现有的 React、Next.js、Angular、Vue、Svelte 或 React Native 应用时使用
- 为 Convex 文档-关系型数据库设计模式时使用
- 编写或调试 Convex 函数(查询、变更、动作)时使用
- 实现实时/响应式数据模式时使用
- 使用 Convex Auth 或第三方提供商(Clerk、Auth0 等)设置身份验证时使用
- 使用 Convex 文件存储、定时函数或 cron 任务时使用
- 部署或管理 Convex 项目时使用
限制
- 查询和变更不能调用外部 HTTP API(应改用动作)
- 不支持原生 SQL,需使用 Convex 查询构建器 API
- 环境变量仅在动作中可用,查询或变更中不可用
- 文档大小限制为 1MB
- 存在函数最大执行时间限制
- 没有特定 SSR 模式时无法对 Convex 数据进行服务端渲染(可使用预加载)
- 模式在写入时强制执行;更改模式需要对现有文档进行数据迁移